首页 > 解决方案 > 使用 DATETIME25.6 格式的 HIVE 日期范围选择

问题描述

我有一个具有这种日期时间戳DATETIME25.6格式的数据表,如下所示:04JAN2011:05:00:00:000000

如何选择一系列记录,例如,介于January 4, 2011和之间January 20, 2011

标签: datehadoophivetimestamphiveql

解决方案


使用以下方法将日期转换为可比较的格式 ( 'yyyy-MM-dd') from_unixtime(unix_timestamp(date, from_format), to_format)

... where from_unixtime(unix_timestamp(your_timestamp_column,'ddMMMyyyy:HH:mm:ss:SSSSSS'),'yyyy-MM-dd') 
      between '2011-01-04' and '2011-01-20'

或者

... where date(from_unixtime(unix_timestamp(your_timestamp_column,'ddMMMyyyy:HH:mm:ss:SSSSSS'))) between '2011-01-04' and '2011-01-20'

推荐阅读