在 Impala ,当我试图比较日期,它会给出错误的结果。例如:
select 'Nov 23 2018 3:02AM' > 'Dec 1 2018 12:00AM'
它会回来的 True 使用cast()函数时 select cast('Dec 1 2018 12:00AM' as timestamp) 这将给 null . 因此,如何比较格式中的日期 mm dd yy 00:00AM
True
select cast('Dec 1 2018 12:00AM' as timestamp)
null
mm dd yy 00:00AM
qltillow1#
您应该使用impala隐式格式化 yyyy-MM-dd HH:mm:ss.SSS . 在你的例子中,你应该用
yyyy-MM-dd HH:mm:ss.SSS
select cast('2018-11-23 03:02:00.000' as timestamp)
jvlzgdj92#
你可以用 unix_timestamp() . 我认为正确的格式是:
unix_timestamp()
select unix_timestamp('Nov 23 2018 3:02AM', 'MMM DD YYYY HH:mmPP')
2条答案
按热度按时间qltillow1#
您应该使用impala隐式格式化
yyyy-MM-dd HH:mm:ss.SSS
. 在你的例子中,你应该用jvlzgdj92#
你可以用
unix_timestamp()
. 我认为正确的格式是: