在mysql到hiveql的转换中出现错误,ParseException: extraneous input 'DAY' expecting {')', ','}(line 179, pos 60)

lrpiutwd  于 2021-04-08  发布在  Hive
关注(0)|答案(1)|浏览(910)

我试图将用mysql编写的查询转换为hiveql,查询中给我带来错误的部分是。

WHERE 1 = 1
 AND table1.incoming_date >= DATE_SUB(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE()) - 1 DAY),INTERVAL 3 MONTH)

很可能是因为hive的date_sub()不支持间隔,所以,谁能帮我转换一下这部分。
error:

ParseException: 
extraneous input 'DAY' expecting {')', ','}(line 179, pos 60)
inkz8wg9

inkz8wg91#

也许你可以使用hive日期函数date_subadd_months的组合来实现。

beeline> select current_date today, add_months(date_sub(current_date,1),-3) past_date;
INFO  : OK
+------------+-----------+
|   today    | past_date |
+------------+-----------|
| 2020-08-13 | 2020-5-12 |
+------------+-----------|
1 row selected (0.101 seconds)

相关问题