Hive操作运算符

关系操作符

以下操作符比较操作数(operands)从而产生TRUE/FALSE值.
运算符操作数描述
A = B所有基本类型如果表达A等于表达B,结果TRUE,否则FALSE.
A != B所有基本类型如果A不等于表达式B表达返回TRUE,否则FALSE.如果有值为NULL,不会返回结果
A < B所有基本类型TRUE,如果表达式A小于表达式B,否则FALSE.
A <= B所有基本类型TRUE,如果表达式A小于或等于表达式B,否则FALSE.
A > B所有基本类型TRUE,如果表达式A大于表达式B,否则FALSE.
A >= B所有基本类型TRUE,如果表达式A大于或等于表达式B,否则FALSE.
A IS NULL所有类型TRUE,如果表达式的计算结果为NULL,否则FALSE.
A IS NOT NULL所有类型FALSE,如果表达式A的计算结果为NULL,否则TRUE.
A LIKE B字符串TRUE,如果字符串模式A匹配到B,否则FALSE;关系型数据库中的like功能.
A RLIKE B字符串如果A任何子字符串匹配Java正则表达式B;否则FALSE.
A REGEXP B字符串等同于RLIKE.
Like的运用场合主要在模糊查询的时候,一般以查询字符串居多,这里据一些例子来说他的一般用法:-- 查询name字段中包含有 "明" 字的:
select * from table1 where name like '%明%';   --这里不能使用 * 来代替,一般在使用0个或者任意个字符构成的字符串的时候最好使用 % --只在首或尾 % 和 * 两者都可以使用:
select * from table1 where name like '%明';
select * from table1 where name like '*明';--如果在头尾同时使用的话,就必须要使用% :
select * from table1 where name like '%[a-z]%';--查询name字段中含有数字的:
select * from table1 where name like '%[0-9]%'; --查询name字段中含有小写字母的:
select * from table1 where name like '%[a-z]%';--查询name字段中不含有数字的:
select * from table1 where name like '%[!0-9]%';:'
实际生产中遇到的问题:
为了找出日志表中 sqltext字段所有 insert overwrite的语句
刚开始是这样写的:select * from table1 where sqltext like '%insert overwrite%';
后来发现,如果有人手抖在 insert overwrite两个单词间敲了n个空格不是就把这条日志错过了吗?
所以换成了下面的写法(但是这种效率会低)
'
select * from table1 where sqltext like '%insert%overwrite%';--补充一点: ?或者_表示单个字符
select * from table1 where name like '_gz'/'?gz';

算数运算符

这些运算符支持的操作数各种常见的算术运算,所有这些返回数字类型.
下表描述了在Hive中可用的算术运算符:
运算符操作描述
A + B所有数字类型A加B的结果
A - B所有数字类型A减去B的结果
A * B所有数字类型A乘以B的结果
A / B所有数字类型A除以B的结果
A % B所有数字类型A除以B产生的余数
A & B所有数字类型A和B的按位与结果
A ^ B所有数字类型A和B的按位异或结果
~A所有数字类型A按位非的结果

逻辑运算符

运算符是逻辑表达式; 所有这些返回TRUE或FALSE.
运算符操作描述
A AND BbooleanTRUE,如果A和B都是TRUE,否则FALSE.
A && Bboolean类似于 A AND B.
A OR BbooleanTRUE,如果A或B或两者都是TRUE,否则FALSE.
NOT AbooleanTRUE,如果A是FALSE;否则FALSE.
!Aboolean类似于 NOT A.

复杂运算符

这些运算符提供一个表达式来接入复杂类型的元素.
运算符操作描述
A[n]A是一个数组,n是一个int它返回数组A的第n个元素,第一个元素的索引0.
M[key]M 是一个 Map<K,V> 并 key 的类型为K它返回对应于映射中关键字的值.
S.xS 是一个结构体它返回S的x字段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/8099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue强制刷新组件

在Vue中强制刷新一个组件&#xff0c;通常不是一个推荐的做法&#xff0c;因为Vue的响应式系统设计就是为了自动处理依赖的更新。要强制重新渲染组件&#xff0c;以下是几种方法&#xff1a; 使用key属性&#xff1a; 最常见的方法是改变组件的key属性。当key发生变化时&#x…

QT实现Home框架的两种方式

在触摸屏开发QT界面一般都是一个Home页面&#xff0c;然后button触发进入子页面显示&#xff0c;下面介绍这个home框架实现的两种方式&#xff1a; 1.方式一&#xff1a;用stackedWidget实现 &#xff08;1&#xff09;StackedWidget控件在Qt框架中是一个用于管理多个子窗口或…

文件夹名称大小写转换:名称首字母转大写,一种高效的文件管理方法

在日常生活和工作中&#xff0c;电脑文件夹的管理对于提高工作效率和文件检索的便捷性至关重要。文件夹名称的命名规则直接影响到文件组织的有序性和查找的速度。其中&#xff0c;将文件夹名称的首字母转换为大写是一种简单而高效的管理方法&#xff0c;下面我们就来详细探讨实…

Linux提示:mount: 未知的文件系统类型“ntfs”

mount: 未知的文件系统类型“ntfs” 在Linux系统中&#xff0c;如果遇到“mount: 未知的文件系统类型‘ntfs’”的错误&#xff0c;这通常意味着您的系统没有安装支持NTFS文件系统的软件。为了挂载NTFS文件系统&#xff0c;您需要安装ntfs-3g软件包。以下是如何在不同Linux发行…

免费ChatGPT转接地址免费ChatGPT直连地址以及使用方法

依赖环境 Python3.8以上环境 安装依赖包 pip install openai 使用方法-Python #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2024-05-08 8:56 # Author : Jack # File : chat_direct""" chat_direct """ import openai from…

Golang | Leetcode Golang题解之第76题最小覆盖子串

题目&#xff1a; 题解&#xff1a; func minWindow(s string, t string) string {ori, cnt : map[byte]int{}, map[byte]int{}for i : 0; i < len(t); i {ori[t[i]]}sLen : len(s)len : math.MaxInt32ansL, ansR : -1, -1check : func() bool {for k, v : range ori {if c…

Java基础教程(15)-多线程基础

多线程是Java最基本的一种并发模型;Java语言内置了多线程支持; 进程和线程 进程和线程的关系就是:进程和线程是包含关系;一个进程可以包含一个或多个线程,但至少会有一个线程; 在计算机中,我们把一个任务称为一个进程,浏览器就是一个进程,视频播放器是另一个进程,类…

为什么 ChatGPT 不火了?

不火了是有原因的&#xff0c;下面我来从大部分人拿到 ChatGPT 之后的两大痛点开始讲起&#xff1a; 很多朋友拿到 ChatGPT 后的第一个痛点就是&#xff1a;用的不好 你经常会感觉到 ChatGPT 回答的好空&#xff0c;没有太多参考价值。 而第二个痛点则是&#xff1a;无处去用…

Vue按照顺序实现多级弹窗(附Demo)

目录 前言1. 单个弹窗2. 多级弹窗 前言 强化各个知识点&#xff0c;以实战融合&#xff0c;以下两个Demo从实战提取 1. 单个弹窗 部署按钮框以及确定的方法即可 截图如下所示&#xff1a; 以下Demo整体逻辑如下&#xff1a; 点击“生成周月计划”按钮会触发showWeekPlanDia…

uniapp日期区间选择器

uniapp日期区间选择器 在 uniapp 中创建一个简单的自定义日期范围的日期区间选择器&#xff1a; - 限制有效日期范围开始日期为 2024-01-01&#xff0c;结束日期为当日&#xff1b; - 默认日期区间为当日向前计算的7日区间&#xff1b; - 选择开始时间后&#xff0c;判断不可大…

苹果删除的短信怎么恢复?这里有4个恢复技巧

手机短信已成为我们日常沟通中不可或缺的一部分&#xff0c;其中包含了与家人、朋友的温馨对话&#xff0c;以及与工作伙伴的重要信息。然而&#xff0c;有时我们可能会因为误操作或其他原因不小心删除了重要的短信。请别担心&#xff0c;本文将为您详细介绍删除的短信怎么恢复…

图像处理中的颜色空间转换

在图像处理中&#xff0c;颜色空间转换是指将图像从一种颜色表示方式转换为另一种颜色表示方式。常见的颜色空间转换包括RGB到HSV、RGB到灰度、RGB到CMYK等。 RGB到HSV转换&#xff1a; RGB颜色空间由红色&#xff08;R&#xff09;、绿色&#xff08;G&#xff09;和蓝色&…

推荐5个免费的国内平替版GPT

提起AI&#xff0c;大家第一个想到的就是GPT。 虽然它确实很厉害&#xff0c;但奈何于我们水土不服&#xff0c;使用门槛有些高。 不过随着GPT的爆火&#xff0c;现在AI智能工具已经遍布到各行各业了&#xff0c;随着时间的推移&#xff0c;国内的AI工具也已经“百花盛放”了…

C#语言进阶(三) 元组

总目录 C# 语法总目录 元组目录 元组1. 元组元素命名2. 元组的解构3. 元组的比较 元组 元组(tuple)是一组存储值的便捷方式。 元组的目的主要是&#xff0c;不使用out参数而从方法中返回多个值。(匿名类型无法做这个操作)元组能做匿名类型所有操作。 元组是值类型&#xff0…

Python机器学习手册:从预处理到深度学习的实际解决方案

书籍&#xff1a;Machine Learning with Python Cookbook: Practical Solutions from Preprocessing to Deep Learning 作者&#xff1a;Kyle Gallatin&#xff0c;Chris Albon 出版&#xff1a;OReilly Media 书籍下载-《Python机器学习手册&#xff1a;从预处理到深度学习…

数据结构学不会?数据结构可视化网站来了

目录 前言 图码网站 算法可视化 算法编辑器 数据结构全书 数据结构课程 总结 前言 数据结构与算法在计算机的学习中应该是许多小白最头疼的东西&#xff0c;明明听的时候那么容易&#xff0c;为什么转换成代码就那么抽象呢&#xff1f; 有没有一个网站可以数据结构与算…

【OceanBase诊断调优】—— 磁盘性能问题导致卡合并和磁盘写入拒绝排查

适用版本 OceanBase 数据库 V3.x、V4.x 版本。 问题现象 OceanBase 集群合并一直未完成&#xff0c;同时 tsar 和 iostat 显示从凌晨 2:30 开始磁盘使用率一直是 100%。怀疑合并导致 IO 上升&#xff0c;IO 可能存在问题&#xff0c;observer.log 的确有大量报错 disk is hu…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 5月8日,星期三

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年5月8日 星期三 农历四月初一 1、 我国将对法国等12国免签政策延长至2025年底&#xff0c;旅游平台加码布局入境游。 2、 财政部&#xff1a;下拨1582亿元&#xff0c;提高义务教育阶段家庭经济困难学生补助标准。 3、 4月…

java8如何根据属性名这个字符串创建SFunction

java如何根据属性名这个字符串创建SFunction&#xff1f;&#xff08;mybatis plus 中的LambdaQueryWrapper使用到的SFunction&#xff09; 问题描述 比如我有一个Person类 里面有name属性 我怎么根据name这个字符串和Person这个class 获取SFunction 解决方案: 我搜了好久才…

前端如何设置div视图可滚动

前端如何设置div视图可滚动&#xff1f; 要使一个 div 元素可滚动&#xff0c;你可以通过设置其 overflow CSS 属性来实现。以下是如何设置的简单步骤&#xff1a; HTML 结构&#xff1a; html复制代码 <div class"scrollable-div"> <!-- 这里放入大量的…