簡體   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