您好我使用以下查询从当前日期过去90天检索记录,但它无法正常工作.请帮我.
SELECT *
FROM adhoc_request
WHERE DATEDIFF(("d", Crdate, current_date()) < 90);
Run Code Online (Sandbox Code Playgroud)
SELECT *
FROM adhoc_request
WHERE Crdate >= sysdate-90
Run Code Online (Sandbox Code Playgroud)
SYSDATE包括时间部分,例如"04-13-2013 09:45:51"
因此,实际上,在"04-13-2013 09:45:51"上运行的查询转换为
WHERE Crdate >= "2013-01-13 09:45:51"
Run Code Online (Sandbox Code Playgroud)
大卫的建议工作更加可预测,并且在大多数情况下更正确,首先截断SYSDATE以便在退出90天之前返回今天的日期,即
SELECT *
FROM adhoc_request
WHERE Crdate >= TRUNC(sysdate)-90
Run Code Online (Sandbox Code Playgroud)