Hive:获取日期和日期字段之间的差异为某个值的行

时间:2018-02-27 03:44:38

标签: hadoop hive hiveql

这是我的桌子' ekko'我需要获得所有行,其中今天的日期和列aedat之间的差异大于65天。如何构建一个hive查询?我使用unix OS。

id rfid aedat
---|-------|-------------| 1 | 3122 | 2017-12-08 | 2 | 3423 | 2017-12-27 | 3 | 4564 | 2017-11-09 | 4 | 23442 | 2017-10-03 |

1 个答案:

答案 0 :(得分:0)

在配置单元中,您可以使用 current_date 功能,该功能可以具有今天即2018-02-26,然后在where子句中使用 datediff函数计算aedat和current_date之间的差异大于65天

将aedat作为日期类型

hive>select * from ekko where datediff(current_date,cast(aedat as date))>65;

(或)

没有将aedat转换为日期类型

hive> select * from ekko where datediff(current_date,aedat)>65;