Oracle SQL 检查日期是否介于今天的日期和另一个日期之间



我是否可以使用BETWEEN简化以下内容?

select  * 
from support 
where 
(datereceived <= sysdate) and (datereceived >= add_months (sysdate,-3));

多谢

考虑到datereceived可能只指已经发生的事情,我认为您不需要检查是否有未来日期。

所以,更简单的比较是:

where datereceived >= add_months(sysdate, -3)

那么,您可能没有意识到sysdate有时间分量。你可能不关心具体的时间。所以,你可能想要:

where datereceived >= add_months(trunc(sysdate), -3)

你可以写-

SELECT *
FROM support
WHERE datereceived BETWEEN ADD_MONTHS(SYSDATE, -3) AND SYSDATE;

最新更新