我有一个格式为yyyy-mm-dd-hh.mm.ss的日期字段,来自一个db2源代码。我如何实现它?
dfuffjeb1#
你的源数据库 dot 在几小时,几分钟和几秒钟之间。Hive支架 : 在他们之间,比如: yyyy-MM-dd HH:mm:ss .参考:配置单元日期函数
dot
:
yyyy-MM-dd HH:mm:ss
select cast( concat( substr('2015-07-22-09.00.32',1,10), ' ', substr('2015-07-22-09.00.32',12,2), ':', substr('2015-07-22-09.00.32',15,2), ':', substr('2015-07-22-09.00.32',18,2) ) AS TIMESTAMP ) ;
dced5bon2#
你可以使用 unix_timestamp 以及 from_unixtime 而不是 substr 当前正在使用的方法。
unix_timestamp
from_unixtime
substr
select cast( from_unixtime( unix_timestamp('2017-08-31-12:24:48' , 'yyyy-MM-dd-HH:mm:ss') ) as timestamp ); +------------------------+--+ | _c0 | +------------------------+--+ | 2017-08-31 12:24:48.0 | +------------------------+--+
2条答案
按热度按时间dfuffjeb1#
你的源数据库
dot
在几小时,几分钟和几秒钟之间。Hive支架:
在他们之间,比如:yyyy-MM-dd HH:mm:ss
.参考:配置单元日期函数
dced5bon2#
你可以使用
unix_timestamp
以及from_unixtime
而不是substr
当前正在使用的方法。