您正在使用以下查询从当前日期过去90天检索记录,但它不起作用。请帮帮我。
SELECT *
FROM adhoc_request
WHERE DATEDIFF(("d", Crdate, current_date()) < 90);
答案 0 :(得分:7)
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"
大卫的建议工作更加可预测,并且在大多数情况下更正确,首先截断SYSDATE以便在离开它90天之前返回今天的日期,即
SELECT *
FROM adhoc_request
WHERE Crdate >= TRUNC(sysdate)-90
答案 1 :(得分:1)
请在下面查询oracle
SELECT
*
FROM
adhoc_request
WHERE
trunc(sysdate-Crdate)<90
答案 2 :(得分:1)
select *
from adhoc_request
where Crdate < DATEADD("d", -90, current_date()) < 90);
一些注意事项:
答案 3 :(得分:1)
Where trunc(Crdate) BETWEEN (trunc(sysdate)-INTERVAL '90' DAY) AND trunc(sysdate)