以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何用sql语句找出不上班的时段?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=147318)

--  作者:sloyy
--  发布时间:2020/3/13 23:02:00
--  如何用sql语句找出不上班的时段?
我有一个全年的上班排班表,现在想用sql语句找出不上班的时段,这个SQL语句该怎么写?
如图: 2019-01-01 到2019-12-31 

图片点击可在新窗口打开查看此主题相关图片如下:排班表.png
图片点击可在新窗口打开查看
不上班的时段是 1 2019-01-01 到 2019-02-28
     2 2019-06-01 到 2019-07-31
     3 2019-12-01 到 2019-12-31
第一个时段用 min(工作起始日) 能查得到,第三个字段用 max(工作结束日)能查得到,第二个时段我就没招了,是不是我的思路不对?
 



--  作者:有点蓝
--  发布时间:2020/3/13 23:07:00
--  
select * from 排班表 where 工作起始日 >=\'2019-01-01\' and工作起始日 <=\'2019-02-28\'  or 工作起始日 >=\'2019-06-01\' and工作起始日 <=\'2019-07-31\'  or .....
--  作者:sloyy
--  发布时间:2020/3/13 23:09:00
--  
这么简单?我怎么没想到呢  我试试图片点击可在新窗口打开查看
--  作者:sloyy
--  发布时间:2020/3/13 23:32:00
--  
s elect * from {排班表} where (工作起始日期 >= #2019-01-01# and 工作起始日期 <=#2019-02-28#)  or (工作起始日期 >= #2019-06-01# and 工作起始日期 <= #2019-07-31#)  or (工作起始日期 >= #2019-12-01# and 工作起始日期 <= #2019-12-31#)

结果是空值 



--  作者:sloyy
--  发布时间:2020/3/14 8:31:00
--  
求救 
--  作者:有点蓝
--  发布时间:2020/3/14 9:06:00
--  
放到数据库执行,如果不出错,肯定没有符合条件的数据
--  作者:fox-man
--  发布时间:2020/3/14 9:13:00
--  
是不是要这样的结果?
图片点击可在新窗口打开查看此主题相关图片如下:不上班的时间列表.png
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sql代码.txt


[此贴子已经被作者于2020/3/14 9:15:49编辑过]

--  作者:fox-man
--  发布时间:2020/3/14 9:23:00
--  
应该是这样才正确吧?
图片点击可在新窗口打开查看此主题相关图片如下:不上班的时间列表.png
图片点击可在新窗口打开查看

--  作者:fox-man
--  发布时间:2020/3/14 9:23:00
--  
应该是这样才正确吧?

图片点击可在新窗口打开查看此主题相关图片如下:不上班的时间列表.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码.txt


[此贴子已经被作者于2020/3/14 10:20:21编辑过]

--  作者:sloyy
--  发布时间:2020/3/14 9:39:00
--  
没错,就是要这个结果图片点击可在新窗口打开查看

我先好好学习你的代码