码迷,mamicode.com
首页 > 其他好文 > 详细

hive 时间戳函数之unix_timestamp,from_unixtime

时间:2019-08-15 17:21:26      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:select   时间格式   16px   输出   time   mat   orm   code   --   

一. 日期>>>>时间戳

1.unix_timestamp() 获取当前时间戳

例如:select unix_timestamp()   --1565858389

2.unix_timestamp(string timestame) 输入的时间戳格式必须为‘yyyy-MM-dd HH:mm:ss‘,如不符合则返回null

例如:
select unix_timestamp(2019-08-15 16:40:00)   --1565858400
select unix_timestamp(2019-08-15)  --null

3.unix_timestamp(string date,string pattern) 将指定时间字符串格式字符串转化成unix时间戳,如不符合则返回null


例如:
select unix_timestamp(2019-08-15,yyyy-MM-dd)   --1565798400

select unix_timestamp(2019-08-15 16:40:00,yyyy-MM-dd HH:mm:ss)   --1565858400

select unix_timestamp(2019-08-15,yyyy-MM-dd HH:mm:ss)   --null

二. 时间戳>>>>日期

1.from_unixtime(bigint unixtime,string format) 将时间戳秒数转化为UTC时间,并用字符串表示,可通过format规定的时间格式,指定输出的时间格式,其中unixtime 是10位的时间戳值,而13位的所谓毫秒的是不可以的。

例如:
select from_unixtime(1565858389,yyyy-MM-dd HH:mm:ss)  --2019-08-15 16:39:49

select from_unixtime(1565858389,yyyy-MM-dd)   --2019-08-15

2.如果unixtime为13位的,需要先转成10位

select from_unixtime(cast(1553184000488/1000 as int),yyyy-MM-dd HH:mm:ss)   --2019-03-22 00:00:00

select from_unixtime(cast(substr(1553184000488,1,10) as int),yyyy-MM-dd HH:mm:ss)  --2019-03-22 00:00:00

 三.获取当前时间

select from_unixtime(unix_timestamp(),yyyy-MM-dd HH:mm:ss)   -- 2019-08-15 17:18:55

 

hive 时间戳函数之unix_timestamp,from_unixtime

标签:select   时间格式   16px   输出   time   mat   orm   code   --   

原文地址:https://www.cnblogs.com/dcx-1993/p/11359139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!