您好我正在使用以下查询来检索从当前日期起最近 90 天的记录,但它不起作用。请帮我。
SELECT *
FROM adhoc_request
WHERE DATEDIFF(("d", Crdate, current_date()) < 90);
SELECT *
FROM adhoc_request
WHERE Crdate >= sysdate-90
SYSDATE包括时间部分,例如“04-13-2013 09:45:51”
所以实际上,在“04-13-2013 09:45:51”上运行的查询转换为
WHERE Crdate >= "2013-01-13 09:45:51"
David 的建议更可预测,并且在大多数情况下更正确,它首先截断 SYSDATE 以返回今天的日期,然后再休息 90 天,即
SELECT *
FROM adhoc_request
WHERE Crdate >= TRUNC(sysdate)-90
请尝试以下有关 oracle 的查询
SELECT
*
FROM
adhoc_request
WHERE
trunc(sysdate-Crdate)<90
select *
from adhoc_request
where Crdate < DATEADD("d", -90, current_date()) < 90);
一些注意事项:
Where trunc(Crdate) BETWEEN (trunc(sysdate)-INTERVAL '90' DAY) AND trunc(sysdate)