hive中各种字符串转换为时间

时间:2024-10-19 09:24:07

1、日期函数UNIX时间戳转日期函数: from_unixtime语法:from_unixtime(bigintunixtime[,stringformat]) 返回值:string说明:转化UNIX时间戳(从1970-01-00UTC到指定时间的秒数)到当前时区的时间格式举例:hive>selectfrom_unixtime(‘yyyyMMdd’)fromdual;20111208

2、日期减少函数: date_sub语法:   date_sub(stringstartdate,intdays) 返回值:string说明:返回开始日期startdate减少days天后的日期。举例:hive>   selectdate_sub(‘2012-12-08’,fromdual;2012-11-28------------版权声明:本文为****博主「贝拉美」的原创文章,遵循CC0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.****.net/ytp552200ytp/article/details/88885899

3、日期转小时函数: hour语法:hour   (stringdate) 返回值:int说明:返回日期中的小时。举例:hive>   selecthour(‘2011-12-01’)fromdual;10

4、日期转秒函数: second语法:second   (stringdate) 返回值:int说明:返回日期中的秒。举例:hive>   selectsecond(‘2011-12-01’)fromdual;1

5、日期时间转日期函数: to_date语法:   to_date(stringtimestamp) 返回值:   string说明:返回日期时间字段中的日期部分。举例:hive>   selectto_date(‘2011-12-01’)fromdual;2011-12-08

6、日期转年函数:year语法:   year(stringdate) 返回值:int说明:返回日期中的年。举例:hive>   selectyear(‘2011-12-01’)fromdual;2011hive>   selectyear(‘2012-12-08’)fromdual;2012

7、日期转UNIX时间戳函数: unix_timestamp语法:unix_timestamp(stringdate) 返回值:   bigint说明:转换格式为“yyyy-MM-ddHH:mm:ss“的日期到UNIX时间戳。如果转化失败,则返回?举例:hive>   selectunix_timestamp(‘2011-12-03’)fromdual;1323234063

8、日期转天函数: day语法:day   (stringdate) 返回值:int说明:返回日期中的天。举例:hive>   selectday(‘2011-12-01’)fromdual;8hive>   selectday(‘2011-12-24’)fromdual;24

9、日期转月函数: month语法:month   (stringdate) 返回值:int说明:返回日期中的月份。举例:hive>   selectmonth(‘2011-12-01’)fromdual;12hive>   selectmonth(‘2011-08-08’)fromdual;8

10、日期增加函数: date_add语法:   date_add(stringstartdate,intdays) 返回值:string说明:返回开始日期startdate增加days天后的日期。举例:hive>   selectdate_add(‘2012-12-08’,fromdual;2012-12-18

11、日期转分钟函数: minute语法:minute   (stringdate) 返回值:int说明:返回日期中的分钟。举例:hive>   selectminute(‘2011-12-01’)fromdual;3

12、日期比较函数: datediff语法:   datediff(stringenddate,stringstartdate) 返回值:int说明:返回结束日期减去开始日期的天数。举例:hive>   selectdatediff(‘2012-12-08’,‘2012-05-09’)fromdual;213

13、日期转周函数: weekofyear语法:   weekofyear(stringdate) 返回值:int说明:返回日期在当前的周数。举例:hive>   selectweekofyear(‘2011-12-01’)fromdual;49

14、获取当前UNIX时间戳函数: unix_timestamp语法:   unix_timestamp() 返回值:   bigint说明:获得当前时区的UNIX时间戳举例:hive>   selectunix_timestamp()fromdual;1323309615

15、指定格式日期转UNIX时间戳函数: unix_timestamp语法:   unix_timestamp(stringdate,stringpattern) 返回值:   bigint说明:转换pattern格式的日期到UNIX时间戳。如果转化失败,则返回?举例:hive>   selectunix_timestamp(‘03’,‘yyyyMMddHH:mm:ss’)fromdual;1323234063