ck数据库对字符串进行时间戳的转换常用toDate()函数,具体样例如下。
代码样例:
SELECT toDateTime('2016-06-15 23:00:00') AS time, toDate(time) AS date_local, toDate(time, 'Asia/Yekaterinburg') AS date_yekat, toString(time, 'US/Samoa') AS time_samoa
输出结果:
┌────────────────time─┬─date_local─┬─date_yekat─┬─time_samoa──────────┐ │ 2016-06-15 23:00:00 │ 2016-06-15 │ 2016-06-16 │ 2016-06-15 09:00:00 │ └─────────────────────┴────────────┴────────────┴─────────────────────┘
hive数据库unix_timestamp(string date,string format) 返回 date 对应的时间戳,date表示字符格式的时间,format表示想要转换成的格式,使用from_unixtime()函数将时间戳转换为字符串。
代码样例:
SELECT unix_timestamp() AS now_tm, unix_timestamp('2016-06-15 23:00:00') AS his_tm, unix_timestamp('2016-06-15 23:00:00','yyyy-MM-dd') AS his_tm1, from_unixtime(1465920000,'yyyy-MM-dd') AS tm;
输出结果:
now_tm his_tm his_tm1 tm 1639462456 1466002800 1465920000 2016-06-15
(1)to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配,否则会报错。
是将字符串转化为日期(DATE)格式,而且转化之后的格式与orcal系统日期参数有关
(2)to_char(日期,"转换格式" ) 即把给定的日期按照“转换格式”转换。