我有一個表,它有兩列 Start_Date 和 End_Date。我想在此表中插入一條新記錄,但在插入之前,需要檢查在開始日期和結束日期范圍內是否有記錄。
ID Start_Date End_Date
1 01/01/2022 01/15/2022
2 01/16/2022 01/20/2022
3 02/01/2022 02/28/2022
4 01/27/2022 01/29/2022
我想用 Say 插入一條新記錄
Start_Date as 01/18/2022 and end date as 03/31/2022.
是否可以使用 sql 檢查該日期范圍內的記錄,或者我們需要撰寫 plsql
uj5u.com熱心網友回復:
您可以檢查重疊范圍,如果存在則不要插入:
INSERT INTO yourTable (Start_Date, End_Date)
SELECT date '2022-01-18', date '2022-03-31'
WHERE NOT EXISTS (
SELECT 1
FROM yourTable
WHERE date '2022-01-18' < End_Date AND date '2022-03-31' > Start_Date
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/414318.html
標籤:
下一篇:從另一個表中選擇不包含單詞的行
