以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQL时间段条件写法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62247)

--  作者:hanxuntx
--  发布时间:2014/12/28 15:47:00
--  [求助]SQL时间段条件写法

请问

时间列 DateTime 格式为 2014/11/14 15:05:14

如何筛选出一个月从1号到30号的 8:00至22:40的数据?


--  作者:有点甜
--  发布时间:2014/12/28 15:52:00
--  

 如果是sql语句可以直接获取时分秒,然后比较大小

 

 筛选就做不到了,要先循环每一行,取出符合的行的主键,再设置筛选条件

 

DatePart(Interval, date)

Interval: 字符型,表示希望返回的时间部分
Date: 给定的日期值

Interval 包含以下设置:

yyyy 年
q    季度
m    月
y    某年的某一天
d    天
w    工作日
ww   周
h    时
n    分
s    秒


--  作者:nothing
--  发布时间:2014/12/28 16:49:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文本文档.txt



--  作者:nothing
--  发布时间:2014/12/28 16:49:00
--  
SQL语句提交不了,见附件
--  作者:hanxuntx
--  发布时间:2014/12/28 17:36:00
--  

 
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20141228173748.jpg
图片点击可在新窗口打开查看

上面的语句是查询两个日期间的记录

我希望查询两个日期间的记录,并且只包含 8:00至22:40的记录

请问如何写?



--  作者:有点甜
--  发布时间:2014/12/28 17:39:00
--  
 And DatePart(\'hh\', DateTimer) > 8 And DatePart(\'hh\', DateTimer) <= 22
[此贴子已经被作者于2014-12-28 17:39:37编辑过]

--  作者:有点甜
--  发布时间:2014/12/28 17:42:00
--  
And DatePart(\'hh\', DateTimer) > 8 And (DatePart(\'hh\', DateTimer) < 22 Or DatePart(\'hh\', DateTimer) = 22 and DatePart(\'n\', DateTimer) <= 40)
--  作者:hanxuntx
--  发布时间:2014/12/29 3:01:00
--  
谢谢,非常好用图片点击可在新窗口打开查看