【发布时间】:2021-11-03 10:24:00
【问题描述】:
SELECT USR_LOGINNAME,USR_EMAIL FROM USERS
WHERE STATUS= 1 AND
TIMESTAMPDIFF(DAY,MODIFIED_DATE,CURRENT_TIMESTAMP)=1;
【问题讨论】:
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
SELECT USR_LOGINNAME,USR_EMAIL FROM USERS
WHERE STATUS= 1 AND
TIMESTAMPDIFF(DAY,MODIFIED_DATE,CURRENT_TIMESTAMP)=1;
【问题讨论】:
使用datediff(enddate, startdate)函数:
datediff(current_date, date(MODIFIED_DATE)) = 1
如果 enddate 小于 startdate,则结果为负。
【讨论】:
如果你想要昨天的数据,我建议:
WHERE STATUS = 1 AND
MODIFIED_DATE < CURRENT_DATE AND
MODIFIED_DATE >= DATE_ADD(CURRENT_DATE, -1)
这允许 Hive 使用 MODIFIED_DATE 进行优化,例如分区修剪。
【讨论】: