打卡时的MS SQL查询

时间:2016-12-07 12:24:38

标签: sql sql-server datetime datepart

我正在尝试根据班次开始时间(日期时间格式)从2个数据库表(MS SQL DB)中检索信息。我希望记录具有日期范围和那些日子的特定时间,但似乎查询不起作用 我写的查询是:

select p.fullnm 'Fullname',
      t.startdtm 'Start Date/Time'
FROM TIMESHEET t
      join PERSON p on p.personid = t.employeeid
WHERE t.startdtm between '2016-01-01' and '2016-12-05'
AND datepart(hh, startdtm) between 6 and 8
AND datepart(mi, startdtm) between 00 and 15

我想要的是:从1月1日到12月5日上午6点到7点15分之间工作的所有员工名单。任何帮助/建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

这样的东西?

WHERE t.startdtm between '2016-01-01' and '2016-12-05'
  AND cast(t.startdtm as time) between '06:00' and '07:15'