我想比较时间与时间范围,如果该特定时间在于 - 在该时间范围内,则它应该返回记录。Sql Server - 仅比较24小时格式的时间?
例如,表“A”有:
+-----------+------+-------------+-----------+
| User_Code | Name | Shift_Start | Shift_End |
+-----------+------+-------------+-----------+
| 1 | ABC | 04:01:00 | 11:00:00 |
| 2 | DEF | 11:01:00 | 20:00:00 |
| 3 | XYZ | 20:01:00 | 04:00:00 |
+-----------+------+-------------+-----------+
现在我要检查其转变是它在这个特定日期时间:2016-09-26 02:51:59
。 SQL查询应返回User_Code = 3
。 Shift_Start
和Shift_End
的类型为time
。
我试图转换2016-09-26 02:51:59
时间,然后shift_start
和shift_end
使用between
和使用logical operator
,但我无法得到期望的结果与比较。
这让我感到莫名其妙。自从我尝试提出解决方案以来,已经过去了一个小时,但我无法这样做。试图用Google搜索,但没有得到任何东西。任何帮助将不胜感激。使用SQL Server从另一个角度2012
如果你只想处理'TIME'而不是'DATETIME',它可能使您的生活更轻松分割您'20 :01:00 - 04:00:00 XYZ'分为两个范围:'00:00:00 - 04:00:00 XYZ'和'20:01:00 - 23:59:59 XYZ' – paul
@paul,是的,但我并不想改变数据库结构,但我同意这会让事情变得更容易。 – NewbieProgrammer