Hive 运算符
Hive 内置运算符
随着Hive版本的不断发展,在Hive SQL中支持的、内置的运算符也越来越多。可以使用下面的命令查看当下支持的运算符和函数,并且查看其详细的使用方式。
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
1 |
|
从Hive 0.13.0开始,select查询语句FROM关键字是可选的(例如SELECT 1+1)。因此可以使用这种方式来练习测试内置的运算符、函数的功能。
除此之外,还可以通过创建一张虚表dual来满足于测试需求。
1 |
|
关系运算符
关系运算符是二元运算符,执行的是两个操作数的比较运算。每个关系运算符都返回boolean类型
结果(TRUE或FALSE)。
- 等值比较: = 、==
- 不等值比较: <> 、!=
- 小于比较: <
- 小于等于比较: <=
- 大于比较: >
- 大于等于比较: >=
- 空值判断:
IS NULL
- 非空判断:
IS NOT NULL
- LIKE比较:
LIKE
- JAVA的LIKE操作:
RLIKE
- REGEXP操作: REGEXP
1 |
|
算术运算符
算术运算符操作数必须是数值类型
。 分为一元运算符和二元运算符; 一元运算符,只有一个操作数; 二元运算符有两个操作数,运算符在两个操作数之间。
- 加法操作: +
- 减法操作: -
- 乘法操作: *
- 除法操作: /
- 取整操作:
div
- 取余操作:
%
- 位与操作:
&
- 位或操作:
|
- 位异或操作:
^
- 位取反操作: ~
1 |
|
逻辑运算符
- 与操作: A AND B
- 或操作: A OR B
- 非操作: NOT A 、!A
- 在:A IN (val1, val2, …)
- 不在:A NOT IN (val1, val2, …)
- 逻辑是否存在: [NOT] EXISTS (subquery)
1 |
|
复杂数据类型运算符
以下运算符提供了访问复杂数据类型中元素的机制。
运算符 | 描述 | 操作数 |
---|---|---|
A[n] | 返回数组 A 中第 n 个元素。第一个元素的索引为 0。 | (val1, val2, …) |
M[key] | 返回映射 M(Map<K, V>) 中与 key 对应的值。 | (key1, value1, key2, value2, …) |
S.x | 返回结构体 S(named_struct) 中的 x 字段。 | (name1, val1, name2, val2, …) |
1 |
|
Hive 运算符
https://flepeng.github.io/045-Hive-31-字段-Hive-运算符/