加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL查询不在两个日期之间

发布时间:2020-12-12 16:44:30 所属栏目:MsSql教程 来源:网络整理
导读:我需要一些帮助SQL查询. 我试图从表test_table中选择不适合两个日期“2009-12-15”和“2010-01-02”之间的所有记录. 这是我的表结构: `start_date` date NOT NULL default '0000-00-00',`end_date` date NOT NULL default '0000-00-00'---------------------
我需要一些帮助SQL查询.

我试图从表test_table中选择不适合两个日期“2009-12-15”和“2010-01-02”之间的所有记录.

这是我的表结构:

`start_date` date NOT NULL default '0000-00-00',`end_date` date NOT NULL default '0000-00-00'

-----------------------------
 **The following record should not be selected:**

`start_date`,`end_date`
'2003-06-04','2010-01-01'

我的查询:

SELECT * 

FROM `test_table` 
WHERE 

CAST('2009-12-15' AS DATE) NOT BETWEEN start_date and end_date 
AND 
CAST('2010-01-02' AS DATE) NOT BETWEEN start_date and end_date

任何想法为什么我的查询选择错误记录?我应该将查询中的值顺序更改为:

start_date NOT BETWEEN CAST('2009-12-15' AS DATE) and CAST('2010-01-02' AS DATE)

非常感谢任何帮助

解决方法

如何尝试:
select * from 'test_table'
where end_date < CAST('2009-12-15' AS DATE)
or start_date > CAST('2010-01-02' AS DATE)

这将返回与您的日期范围不重叠的所有日期范围.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读