2020-11-29

hive中比较重要的三个函数

1.unix_timestamp() 时间戳函数
时间戳函数,时间戳的意思就是一个时间到另外一个时间之间的时间间隔。比如2020-01-01到2020-01-02有一个天的时间,那么时间戳就是一天,通常时间戳一般换算成秒。
Unix_timestamp()这个函数会将传过来的时间减去1970-01-01 00:00:00这个时间然后换算成秒,如果是中国地区的话会减去1970-01-01 00:00:00。Unix_timestamp有两种,第一种是传一个参数此时日期只能按标准的’yyyy-MM–dd HH:mm:ss’的形式不然会返回NULL.第二种是传两个参数,第一个参数是时间第二个参数是格式,比如说20200101那么就要传入第二个参数yyyymmdd。如果你的时间是标准的也就是1970-01-01 00:00:00这种带上时分秒的那么只需要传一个参数即可,如果时间格式不正规那么就要告知系统你时间的格式。
2.from_timestamp() 时间格式转换格式
两个参数,第一个参数是时间戳,第二个参数是时间格式
比如将2020-02-02换成‘20200202’
from_unixtime(Unix_timestamp(‘2020-02-02’,’yyyy-MM-dd’),’yyyyMMdd’)
注:生产线上这两个是比较常用的两个函数来对日期的格式进行切换,比如2020-01-01换成20200101,from_timestamp需要一个时间戳一个指定格式,unix_timestamp()来将时间转换成时间戳。
3.hive中nvl()和coalesce()以及nvl2()区别?
Coalesce()返回第一个不为空的值,可以传很多参数,但是参数的类型必须一致
Nvl(expr1,expr2),如果第一个值为空返回第二个参数,如果第一个值不为空返回第一个参数。
Nvl2(expr1,expr2,expr3)如果第一个值为空返回第二个参数,如果第一个值不为空返回第三个参数。
4.函数大全:https://www.cnblogs.com/banzui/articles/9198509.html

你可能感兴趣的:(hive)