问题描述
我有 2020-10-21 12:49:27.090
形式的字符串数据
我想将其转换为时间戳。当我这样做时:
select cast(column_name as timestamp) as column_name from table_name
所有的毫秒都被丢弃了,像这样:
2020-10-21 12:49:27
我也试过这个:
select cast(date_format(column_name,'yyyy-MM-dd HH:mm:ss.SSS') as timestamp) as column_name from table_name
同样的问题仍然存在,它减少了毫秒。
如何在不丢失毫秒的情况下将字符串转换为时间戳?
解决方法
在 Qubole 和 demo.gethue.com 上的 Hive 2.3.6 中测试,效果很好:
select cast ('2020-10-21 12:49:27.090' as timestamp),timestamp('2020-10-21 12:49:27.090')
结果:
2020-10-21 12:49:27.09 2020-10-21 12:49:27.09
还有这个
cast(date_format('2020-10-21 12:49:27.090','yyyy-MM-dd HH:mm:ss.SSS') as timestamp)
也一样。
您的客户端应用程序或 Hive 版本似乎有问题