繁体   English   中英

SQL 查询两个日期之差大于某个值时删除记录

[英]SQL query to delete records when the difference between two dates is greater than a certain value

当我的表的 SYSDATE 和 TIMESTAMP (6) 字段之间的差异大于 10 天时,我想删除记录。 我创建了以下查询:

select (SYSDATE - myDate) as difference from myTable where difference > 10;

但我收到以下错误:

00904. 00000 -  "%s: invalid identifier"

我是否正确创建查询?

我是否正确创建查询?

不,您不能在同一语句的过滤条件中SELECT子句中的别名。

此外,当您从DATE中减去TIMESTAMP时,您将获得INTERVAL数据类型的结果; 所以你需要比较它而不是一个NUMBER (如果你比较DATE - DATE这将是结果)。

你要:

SELECT SYSDATE - myDate as difference
FROM   myTable
WHERE  SYSDATE - myDate > INTERVAL '10' DAY;

db<> 在这里摆弄

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM