Hive中带日期的where子句

cclgggtu  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(271)

以下配置单元查询中的where子句不起作用

select
 e.num as badge
from dbo.events as e
 where  TO_DATE(e.event_time_utc) > TO_DATE(select event_date from DL_EDGE_LRF_facilities.card_swipes_lastpulldate)

event_time_utc和event_date字段都定义为字符串,event_time_utc的时间戳值为'2017-09-18 20:10:19.000000',event_date只有一个日期值为'2018-01-25',我收到一个错误,如“无法识别附近的输入” select ' ' event_date 当我运行查询时,请帮助

q9yhzks0

q9yhzks01#

@用户86683;配置单元无法识别语法,因为它不允许在查询中使用不等式条件(>)。你可以试试这个查询,然后告诉我结果。

select e.num as badge
from dbo.events as e, DL_EDGE_LRF_facilities.card_swipes_lastpulldate c
where  TO_DATE(e.event_time_utc) > TO_DATE(c.event_date)

您将得到一个警告,但您可以忽略它,因为event\ u date的表只有一条记录。

Warning: Map Join MAPJOIN[10][bigTable=e] in task 'Map 1' is a cross product
Query ID = xxx_20180201102128_aaabb2235-ee69275cbec1
Total jobs = 1
Launching Job 1 out of 1
Status: Running (Executing on YARN cluster with App id application_09fdf345)

希望这有帮助。谢谢。

相关问题