日期间隔过滤器
Posted
技术标签:
【中文标题】日期间隔过滤器【英文标题】:Date interval filter 【发布时间】:2020-05-28 20:03:34 【问题描述】:我的查询中有一个过滤器,例如:
where business_day BETWEEN date_add('day',-14, CURRENT_DATE) AND date_add('day',-2,CURRENT_DATE)
如何将其调整到当前日期前 14 天而不是前 2 天前 14 天?只需将子句后半部分的 -2 替换为 0 即可:
where business_day BETWEEN date_add('day',-14, CURRENT_DATE) AND date_add('day',0,CURRENT_DATE)
或者会有更清洁的方法吗?
谢谢!
【问题讨论】:
【参考方案1】:这个表达式是空操作:
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
【讨论】:
以上是关于日期间隔过滤器的主要内容,如果未能解决你的问题,请参考以下文章