如何写 两个日期字段 是否包含在 日期范围之内?

恰好 2016-03-23 10:30:48
表中有两个日期字段, godate 与 endate ,想查询到 这两个字段,只要任意一下满足条件的记录,以下语句查不出来

select * from table where ( godate between '2016-3-23' and '2016-3-27') or (endate between '2016-3-23' and '2016-3-27')

求解
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-03-23
  • 打赏
  • 举报
回复
并且条件
  '2016-3-23' <=endate AND '2016-3-27'>=godate
--反向条件
  NOT('2016-3-23' <=endate AND '2016-3-27'>=godate)
spiritofdragon 2016-03-23
  • 打赏
  • 举报
回复
......上面是错的。 其实不知道你到底想要啥需求,不好写。比如:完全包含23到27之间的数据这么写: godate<'2016-3-23' and endate > '2016-3-27' 需求不明确
恰好 2016-03-23
  • 打赏
  • 举报
回复
引用 楼主 goolean 的回复:
表中有两个日期字段, godate 与 endate ,想查询到 这两个字段,只要任意一下满足条件的记录,以下语句查不出来 select * from table where ( godate between '2016-3-23' and '2016-3-27') or (endate between '2016-3-23' and '2016-3-27') 求解
感谢,收分
spiritofdragon 2016-03-23
  • 打赏
  • 举报
回复
'2016-3-23' between godate and endate and '2016-3-27' between godate and endate

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧