1、等值比较:=
2、不等值比较:<>
3、小于比较:<
4、小于等于比较:<=
5、大于比较:>
6、大于等于比较:>
7、空值判断:IS NULL
8、非空判断:IS NOT NULL
9、LIKE 比较:LIKE
10、JAVA 的 LIKE 比较:RLIKE
11、正则匹配:REGEXP
数学运算
1、加法操作:+
2、减法操作:-
3、乘法操作:*
4、除法操作:/
5、取余操作:%
6、位与操作:&
7、位或操作:|
8、位异或操作:^
9、按位取反操作:~
逻辑运算
1、逻辑与操作:AND
2、逻辑与操作:OR
3、逻辑非操作:NOT
条件运算
1、IF 函数:IF
2、非空查找函数:COALESCE
3、条件判断函数:CASE
4、条件判断函数:CASE
数值计算
1、近似函数:round
2、指定精度近似函数:round
3、向下取整函数:floor
4、向上取整函数:ceil
5、向上取整函数:ceiling
6、取随机函数:rand
7、自然指数函数:exp
8、以 10 为底的对数函数:log10
9、以 2 为底的对数函数:log2
10、对数函数:log
11、幂运算函数:pow
12、幂运算函数:power
13、平方根函数:sqrt
14、二进制函数:bin
15、十六进制函数:hex
16、反转十六进制函数:unhex
17、进制转换函数:conv
18、绝对值函数:abs
19、正取余函数:pmod
20、正弦函数:sin
21、反正弦函数:asin
22、余弦函数:cos
23、反余弦函数:acos
24、positive 函数:positive
25、negative 函数:negative
日期函数
1、UNIX 时间戳转日期函数:fom_unixtime
2、获取当前 UNIX 时间戳函数:unix_timestamp
3、日期转 UNIX 时间戳函数:unix_timestamp
4、指定格式日期转 UNIX 时间戳函数:unix_timestamp
5、日期时间转日期函数:to_date
6、日期转年函数:year
7、日期转月函数:month
8、日期转天函数:day
9、日期转小时函数:hour
10、日期转分钟函数:minute
11、日期转秒函数:second
12、日期转周函数:weekofyear
13、日期比较函数:datediff
14、日期增加函数:date_add
15、日期减少函数:date_sub
字符串函数
1、字符串长度函数:length
2、字符串反转函数:reverse
3、字符串连接函数:concat
4、带分隔符字符串连接函数:concat_ws
5、字符串截取函数:substr | substring
6、字符串截取函数:substr | substring
7、字符串转大写函数:upper | ucase
8、字符串转小写函数:lower | lcase
9、去空格函数:trim
10、左边去空格函数:ltrim
11、右边去空格函数:rtrim
12、正则表达式替换函数:regexp_replace
13、正则表达式解析函数:regexp_extract
14、URL 解析函数:parse_url
15、JSON 解析函数:get_json_object
16、空字符串函数:space
17、重复字符串函数:repeat
18、首字符 ASCII 函数:ascii
19、左补足函数:lpad
20、右补足函数:rpad
21、分割字符串函数:split
22、集合查找函数:find_in_set
聚合函数
1、统计函数:count
2、求和函数:sum
3、平均值函数:avg
4、最小值函数:min
5、最大值函数:max
6、总体方差函数:var_pop
7、样本方差函数:var_samp
8、总体标准差函数:stddev_pop
9、样本标准差函数:stddev_samp
10、百分位函数:percentile
11、百分位函数:percentile
12、近似百分位函数:percentile_approx
13、近似百分位函数:percentile_approx
14、直方图:histogram_numeric
在 hive 中可通过以下命令查看函数信息:
--显示所有的可用函数,包括运算符、内置函数、自定义函数
show functions;
--显示指定函数的描述信息
desc function trim;
--显示指定函数的详细信息
desc function extended trim;
1
2
3
4
5
6
7
8
关系运算
1、等值比较:=
语法:A = B
操作类型:基本类型
描述:如果表达式 A 与表达式 B 相等,则为 TRUE;否则为 FALSE。
select 1 where 1 = 1;
1
1
1
2、不等值比较:<>
语法:A <> B
操作类型:基本类型
描述:如果表达式 A 或表达式 B 为 NULL,则返回 NULL;如果表达式 A 与 表达式 B 不相等,则为 TRUE;否则为 FALSE。
select 1 where 1 <> 2;
1
1
1
3、小于比较:<
语法:A < B
操作类型:基本类型
描述:如果表达式 A 或表达式 B 为 NULL,则返回 NULL;如果表达式 A 小于表达式 B,则为 TRUE;否则为 FALSE。
select 1 where 1 < 2;
1
1
1
4、小于等于比较:<=
语法:A <= B
操作类型:基本类型
描述:如果表达式 A 或表达式 B 为 NULL,则返回 NULL;如果表达式 A 小于或者等于表达式 B,则为 TRUE;否则为 FALSE。
select 1 where 1 <= 1;
1
1
1
5、大于比较:>
语法:A > B
操作类型:基本类型
描述:如果表达式 A 或表达式 B 为 NULL,则返回 NULL;如果表达式 A 大于表达式 B,则为 TRUE;否则为 FALSE。
select 1 where 2 > 1;
1
1
1
6、大于等于比较:>
语法:A >= B
操作类型:基本类型
描述:如果表达式 A 或表达式 B 为 NULL,则返回 NULL;如果表达式 A 大于或者等于表达式 B,则为 TRUE;否则为 FALSE。
select 1 where 1 >= 1;
1
1
1
7、空值判断:IS NULL
语法:A IS NULL
操作类型:所有类型
描述:如果表达式 A 的值为 NULL,则为 TRUE;否则为 FALSE。
select 1 where null is null;
1
1
1
8、非空判断:IS NOT NULL
语法:A IS NOT NULL
操作类型:所有类型
描述:如果表达式 A 的值为 NULL,则为 FALSE;否则为 TRUE。
select 1 where 1 is null;
1
1
1
9、LIKE 比较:LIKE
语法:A LIKE B
操作类型:字符类型
描述:如果字符串 A 或字符串 B 为 NULL,则返回 NULL;如果字符串 A 符合简单 SQL 正则表达式 B 的语法,则为 TRUE;否则为 FALSE。
字符 ”_” 表示任意单个字符
select 1 where 'football' like 'foot____';
1
1
1
字符 ”%” 表示任意数量的字符
select 1 where 'football' like 'foot%';
1
1
1
注意:否定比较时候用 NOT A LIKE B
select 1 where not 'football' like 'fff%';
1
1
1
10、JAVA 的 LIKE 比较:RLIKE
语法:A RLIKE B
操作类型:字符类型
描述:如果字符串 A 或字符串 B 为 NULL,