我需要从下表中找出AM和PM之间的记录。
例如:如果我在早上7点进入开始时间,在下午4点进入结束时间,我需要低于记录。
开始时间和结束时间数据采用varchar数据类型,格式为12小时。如何在搜索条件中区分AM和PM。是否有任何内置函数在sql server中以24小时格式提取时间?提前谢谢。
答案 0 :(得分:1)
将您的字段转换为time
格式,然后进行比较。
SELECT CONVERT(time, '07:01 PM')
<强> SQL Fiddle 强>
现在,您可以像下面一样编写查询
select * from yourtable where CONVERT(time, starttime) >= CONVERT(time, '07:00 AM') AND CONVERT(time, endtime) <= CONVERT(time, '04:00 PM')