2016-12-28 19 views
0

的,我嘗試轉換Teradata的查詢蜂巢蜂巢相當於Teradata的聲明

WHERE visit_date BETWEEN (CURRENT_DATE-194) AND (CURRENT_DATE) 

其中visit_date是格式YYYY-MM-DD的字符串。

CURRENT_DATE在Hive中有效,但CURRENT_DATE-194發生錯誤。

我該如何在Hive中做到這一點?

+0

使用'UNIX_TIMESTAMP()'到得到的溶液比較日期 – Vikrant

回答

0

要獲取Hive中過去194天的數據;
嘗試下面的查詢:

select * from table_1 where visit_date > date_sub(from_unixtime(unix_timestamp()), 194); 

注:時間戳毫秒
UNIX_TIMESTAMP是以秒

1

通過使用

visit_date BETWEEN date_sub(CURRENT_DATE,194) AND CURRENT_DATE 
+0

對,unix_timestamp()是非確定性的,從優化的nts查詢。你的解決方案更好。另請參閱:http://stackoverflow.com/a/41140298/2700344 – leftjoin