日期:2014-05-18  浏览次数:20439 次

SQL 取时间断问题,求高高高手介入!!
情况说明: ddd为 datetime类型
表名:T

ddd A B C

2012-05-26 14:15:45 23 78 98
..............................................以下有N条数据


我现在要筛选出 :
 
每周一 至周五 下午17点以后到 第二天 08点前 的数据 怎么写?

每周一 至周五 早上08点以后到 下午 17 点前 的数据 怎么写?

求高高手!!!!!!



------解决方案--------------------
SQL code

--每周一 至周五 下午17点以后到 第二天 08点前 的数据
select * from T where (convert(varchar(8),ddd,108) between '00:00:00' and '08:00:00'
    or convert(varchar(8),ddd,108) between '17:00:01' and '23:59:59')
    and datepart(dw,ddd) in(2,3,4,5,6,7)
--每周一 至周五 早上08点以后到 下午 17 点前 的数据
select * from T where convert(varchar(8),ddd,108) between '08:00:01' and '17:00:00'
    and datepart(dw,ddd) in(2,3,4,5,6)