您的位置:首页 > 其它

hive三 常见运算符和函数

2019-01-24 15:39 197 查看

关系运算符

•等值比较: =
•不等值比较: <>
•小于比较: <
•小于等于比较: <=
•大于比较: >
•大于等于比较: >=
•空值判断: IS NULL
•非空判断: IS NOT NULL
•LIKE比较: LIKE
•JAVA的LIKE操作: RLIKE
•REGEXP操作: REGEXP

NOT RLIKE

介绍下加粗的,其他的觉得应该没必要介绍了
where name is null
”_”表示任意单个字符,而”%”表示任意数量的字符
where name like ‘tom%’
至于rlike呢,就是相当于是java的正则表达式
where ‘123456’ rlike ‘^\d+$’; 判断是否全部为数字

逻辑运算符

•加法操作: +
•减法操作: -
•乘法操作: *
•除法操作: /
•取余操作: %
•位与操作: &
•位或操作: |
•位异或操作: ^
•位取反操作: ~
and
or
not

需要注意:

  • int – int 一般结果为int类型,而int – double 一般结果为double类型
  • int + int 一般结果为int类型,而int +double 一般结果为double类型
  • 如果A乘以B的结果超过默认结果类型的数值范围,则需要通过cast将结果转换成范围更大的数值类型
  • 返回A除以B的结果。结果的数值类型为double 50/5 = 10.0
  • hive 中最高精度的数据类型是 double, 只精确到小数点后 16 位,在做除法运算的时候要 特别注意

数值运算

•四舍五入 ,可指定小数点后几位 round(double a) round(double a, int d)
•向下取整函数: floor
•向上取整函数: ceil
•取随机数函数: rand(),rand(int seed)

•自然指数函数: exp(double a)
•以10为底对数函数: log10(double a)
•以2为底对数函数: log2(double a)
• 对数函数:log(double base, double a)
•幂运算函数: pow(double a, double p)
•开平方函数:sqrt(double a)
•二进制函数: bin
•十六进制函数: hex
•反转十六进制函数: unhex
•进制转换函数: conv
•绝对值函数: abs
•正取余函数: pmod
•正弦函数: sin
•反正弦函数: asin
•余弦函数: cos
•反余弦函数: acos
•positive函数: positive
•negative函数: negative

日期函数

  • UNIX 时间戳转日期函数 from_unixtime(1323308943,‘yyyyMMdd’)
  • 获取当前 UNIX 时间戳函数 : unix_timestamp()
  • 日期转 UNIX 时间戳函数 : unix_timestamp(‘2011-12-07 13:01:03’)
    unix_timestamp(‘20111207 13:01:03’,‘yyyyMMdd HH:mm:ss’)
  • 日期时间转日期函数 : to_date(‘2011-12-08 10:03:01’) 返回2011-12-08

•日期转年函数: year year(‘2011-12-08 10:03:01’)
• 日期转月函数: month
• 日期转天函数: day
• 日期转小时函数: hour
• 日期转分钟函数: minute
• 日期转秒函数: second
• 日期转周函数: weekofyear
• 日期比较函数: datediff 返回结束日期减去开始日期的天数。
datediff(‘2012-12-08’,‘2012-05-09’)
• 日期增加函数: date_add 返回开始日期startdate增加days天后的日期。
date_add(‘2012-12-08’,10)
• 日期减少函数: date_sub 返回开始日期startdate减少days天后的日期。

条件函数

•If函数: if
select if(1=2,100,200) from dual; 返回200
•非空查找函数: COALESCE
返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL
select COALESCE(null,‘100’,'50′) from dual; 100
•条件判断函数:CASE
case 100 when 50 then ‘tom’ when 100 then ‘mary’ else ‘tim’ end

字符串函数

•字符串长度函数:length
•字符串反转函数:reverse
•字符串连接函数:concat
• 带分隔符字符串连接函数:concat_ws
• 字符串截取函数:substr,substring
• 字符串截取函数:substr,substring
• 字符串转大写函数:upper,ucase
• 字符串转小写函数:lower,lcase
• 去空格函数:trim
• 左边去空格函数:ltrim
• 右边去空格函数:rtrim
•正则表达式替换函数:regexp_replace
•正则表达式解析函数:regexp_extract
•URL解析函数:parse_url
•json解析函数:get_json_object
•空格字符串函数:space
•重复字符串函数:repeat
•首字符ascii函数:ascii
•左补足函数:lpad
•右补足函数:rpad
•分割字符串函数: split
•集合查找函数: find_in_set

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: