将十进制字符串更改为Impala中的时间戳

时间:2018-11-16 00:29:22

标签: hadoop impala

如何转换类似的字符串类型  t1.updte_timestamp

2018-06-02-08.18.45.562742 
2018-05-26-09.18.16.594824

放入时间戳?应该结果:

2018-06-02-08.18.45
2018-05-26-09.18.16

ETC

这些值是从excel导入的,属于STRING-TYPE

我尝试过:

SELECT
 to_timestamp(cast (t1.updte_timestamp as string), 'yyyy-mm-dd hh:mm:ss') as updted_timestamp FROM OLD;

但是所有值都为NULL

谢谢

1 个答案:

答案 0 :(得分:1)

您可以substr字符串并按照以下说明应用到_timestamp

select to_timestamp(substr('2018-06-02-08.18.45.562742', 1, 19) , 'yyyy-MM-dd-HH.mm.ss');

确保大写使用MM表示月份,HH表示小时