创建sql查询以检索两个日期T1和T2之间或T1和T2之外的元素

创建sql查询以检索两个日期T1和T2之间或T1和T2之外的元素,sql,Sql,我想创建一个sql查询来检索两个日期T1和T2之间的元素 如果我没有结果,我想在这些日期之外得到结果。 我如何仅使用sql select * from myTable where tmp >= T1 and tmp <= T2 select * from myTable where tmp < T1 or tmp > T2 类似于此的查询应该可以工作: (select * from myTable where tmp >= T1 and tmp <= T2)

我想创建一个sql查询来检索两个日期T1和T2之间的元素 如果我没有结果,我想在这些日期之外得到结果。 我如何仅使用sql

select * from myTable where tmp >= T1 and tmp <= T2
select * from myTable where tmp < T1 or tmp > 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)

考虑到目前为止提供的详细信息,这没有经过测试。

下面的查询应该可以解决这个问题:

SELECT * 
FROM myTable 
WHERE
(tmp BETWEEN T1 AND T2)
OR
((tmp < T1 OR tmp > T2) AND (tmp NOT BETWEEN T1 AND T2))

您使用的是什么sql server