Hive +将前一天的日期传递给喜欢条款

时间:2018-03-05 08:49:57

标签: hive hiveql

我试图根据前一个日期从hive表中获取记录。 示例:如果表格如下

CustomerVisit

ID NAME VISIT_DATE
------------------

01 Harish 2018-02-31

03 Satish 2017-02-13

04 Shiva  2018-03-04

现在我需要获取所有visit_date = 2018-03-04的记录(即今天的日期-1)。

  

预期查询类似于:

select ID, Name from CustomerVisit where 
visit_date like concat((select date_sub(current_date, 1)),'%')

我试过以下

select current_date; - Gives current date

select date_sub(current_date, 1) - Gives previous date

select concat(tab1.date1,'%') from 
(select date_sub(current_date, 1) as date1) as tab1; -- Gives the previous date appended with % which i need to use in like

但是当我使用上面的子查询时,如下所示,它失败了

select tab2.id, (select concat(tab1.date1,'%') as pattern from 
(select date_sub(current_date, 1) as date1) as tab1) from CustomerVisit as tab2 limit 1;
  

失败:ParseException行1:0无法识别'seelct''current_date''附近的输入''

如何编写查询以获取上一个日期的结果?

1 个答案:

答案 0 :(得分:0)

您不需要LIKE条款。只需选择使用等于(=

select ID, Name from CustomerVisit where 
visit_date = date_sub(current_date, 1);