34,591
社区成员
发帖
与我相关
我的任务
分享
select *
from dbo.tb
where datepart(hour,dt) between 9 and 18
and datepart(dw,dt+@@datefirst-1)<>6
and datepart(dw,dt+@@datefirst-1)<>7;
--无论datefirst为几,都会逻辑的认为 周一为一周的第一天(datepart(dw,dt+@@datefirst-n) n可以随便设)
select *
from tb
where datepart(hh,时间) between 9 and 18
and datepart(weekday,时间) between 2 and 6
select * from tb where datepart(hh,time) between 9 and 18 and datepart(dw,time)<6
select * from tb
where datepart(hh,时间) between 9 and 18
and (@@datefirst+datepart(weekday,时间)-1)%7 between 1 and 5
set datefirst 1
select *
from tb
where datepart(hh,时间) between 9 and 18
and datepart(weekday,时间) between 1 and 5