我有一张员工表。其中包含(EmpId(int),AvailableFrom(Time),AvailableTo(Time))等列。 我需要在特定时间(8:15:00到9:30:00)获取可用的员工列表。 我写了这样的查询。
Select * from employees emp where
(emp.availablefrom<'09:30:00.0000000' and
emp.availableto>'08:15:00.0000000')
但是在结果列表中,我也从(9:00:00到10:00:00)获得了可用的员工。
提前致谢。
答案 0 :(得分:0)
SELECT *
FROM employees emp
WHERE
emp.availablefrom >= '08:15:00.0000000'
AND emp.availablefrom <= '09:30:00.0000000'
AND emp.availableto >= '08:15:00.0000000'
AND emp.availableto <= '09:30:00.0000000'
答案 1 :(得分:0)
只需更改您的比较,例如emp.availablefrom>'08:15:00.0000000'
和
emp.availableto<'09:30:00.0000000'
。
答案 2 :(得分:0)
您可以尝试使用between,如下所示:
SELECT *
FROM employees emp
WHERE (emp.availablefrom between '08:15:00.0000000' and '09:30:00.0000000')
and (emp.availableto between '08:15:00.0000000' and '09:30:00.0000000')
答案 3 :(得分:0)
Select * from employees emp where (emp.AvailableFrom<='08:15:00.0000000' and emp.AvailableTo>='09:30:00.0000000')
谢谢大家......我刚刚得到了所需的结果,使用上面的查询..