我想創建一個SQL查詢來檢索兩個日期之間的元素T1和T2 如果我沒有得到結果,我想得到在這些日期之外的結果。 我該怎麼辦只使用SQL創建一個SQL查詢來檢索兩個日期T1和T2之間或T1和T2之外的元素
select * from myTable where tmp >= T1 and tmp <= T2
select * from myTable where tmp < T1 or tmp > T2
我想創建一個SQL查詢來檢索兩個日期之間的元素T1和T2 如果我沒有得到結果,我想得到在這些日期之外的結果。 我該怎麼辦只使用SQL創建一個SQL查詢來檢索兩個日期T1和T2之間或T1和T2之外的元素
select * from myTable where tmp >= T1 and tmp <= T2
select * from myTable where tmp < T1 or tmp > T2
下面的查詢就可以解決這個問題:
SELECT *
FROM myTable
WHERE
(tmp BETWEEN T1 AND T2)
OR
((tmp < T1 OR tmp > T2) AND (tmp NOT BETWEEN T1 AND T2))
一個類似這樣的查詢應該工作:
(select * from myTable where tmp >= T1 and tmp <= T2)
UNION
(select * from myTable WHERE NOT EXISTS (select 1 from myTable where tmp >= T1 and tmp <= T2) AND tmp < T1 or tmp > T2)
這不是測試,考慮到目前爲止提供的細節。
感謝,我會嘗試一下:) – junior
哪些SQL服務器是您使用 – zxc