假设我有一张桌子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';
它输出范围内的所有数据,但这不是我希望得到的,我需要的是返回类似的东西:
start end
2012-12-09 2012-12-10
2012-12-14 2012-12-14
2012-12-16 2012-12-16
这是不在给定范围内的范围。(参见下面的评论),这是不在T
范围内的范围(但在给定的范围内,即'2012- 12-09 ' - '。二〇一二年十二月一十六日' )
作为测试,您可以在此处尝试:http://sqlfiddle.com/#!2/e55ba/1
答案 0 :(得分:0)
只需在查询条件中尝试此项,然后您将获得不在范围内的所有结果。 其中&#39; 2012-12-09&#39;&lt; = date and date&gt; =&#39; 2012-12-16&#39;