Mysql 获取不在给定范围内的多行上的日期范围

Mysql 获取不在给定范围内的多行上的日期范围,mysql,date-range,Mysql,Date Range,假设我有一张桌子,有一张桌子 Create Table T (id int, date Datetime); Insert Into T (id,date) Values (1,'2012-12-11'),(2,'2012-12-12'), (3,'2012-12-13'),(4,'2012-12-15'), (5,'2012-12-17'),(6,'2012-12-18'),(7,'2012-12-19'); 假设给定的日期范围是从2012-12-09到2012-12-16,我想得到T中的

假设我有一张桌子,有一张桌子

Create Table T (id int, date Datetime);
Insert Into T (id,date) Values 
(1,'2012-12-11'),(2,'2012-12-12'),
(3,'2012-12-13'),(4,'2012-12-15'),
(5,'2012-12-17'),(6,'2012-12-18'),(7,'2012-12-19');
假设给定的日期范围是从
2012-12-09
2012-12-16
,我想得到T中的日期范围,因此不在范围内。我尝试以下代码:

Select date From T where '2012-12-09'<= date AND date <= '2012-12-16';
这是不在给定范围内的范围。(参见下面的注释),这不是
T
中的范围(而是给定的范围,即“2012-12-09”-“2012-12-16”)


作为测试,您可以在此处尝试:

只需在查询中尝试此where条件,您将得到所有不在范围内的结果。
其中'2012-12-09'='2012-12-16'

这里的开始和结束是什么意思?@SinsilMathew它们是日期的范围,不在T中,而是在'2012-12-09'和'2012-12-16'范围内;试试这个从T开始选择的日期,其中日期在'2012-12-09'和'2012-12-16'之间@SinsilMathew我看不出我的原始代码有任何不同,正如我提到的,这不是我想要的!从T中选择日期#2012-12-09#谢谢,但你误解了我。
start       end
2012-12-09  2012-12-10
2012-12-14  2012-12-14
2012-12-16  2012-12-16