日期间隔过滤器

问题描述 投票:0回答:1

我的查询中有一个过滤器,例如:

 where business_day BETWEEN date_add('day',-14, CURRENT_DATE) AND date_add('day',-2,CURRENT_DATE) 

如何将其调整为当前日期之前14天而不是2天之前14天?只需在子句的后半部分用0替换-2即可:

where business_day BETWEEN date_add('day',-14, CURRENT_DATE) AND date_add('day',0,CURRENT_DATE) 

或者会有更清洁的方法吗?

谢谢!

sql date presto
1个回答
0
投票

此表达式为无操作:

date_add('day',0,CURRENT_DATE) 

它实际上返回CURRENT_DATE

我发现使用interval语法更容易理解日期算术。如果将来没有日期,则可以执行以下操作:

where business_day >= current_date - interval '14' day

如果将来有日期,则:

where business_day >= current_date - interval '14' day and business_day <= current_date
© www.soinside.com 2019 - 2024. All rights reserved.