我正在尝试查找日期时间字段属于哪个班次。
班次定义为时间,我有一个开始时间和结束时间。
查询
SELECT * FROM shifts WHERE TIME('2009-11-20 06:35:00') BETWEEN '06:00:00' and '19:00:00'
效果很好,但是当将班次设置为从19:00:00到06:00:00开始并且时间为23:35:00时,它什么也不会返回]]
WHERE TIME('2009-11-20 23:35:00') BETWEEN '19:00:00' and '06:00:00'
尽管我的桌子上有记录,但该行没有返回任何内容
谢谢
如果我查询此:
SELECT a.ID, b.Nombre FROM turnos a JOIN operarios b ON a.oID = b.oId WHERE a.uId = 1 AND (TIME('2019-11-22 18:23:00') BETWEEN a.horaInicio AND a.horaFin ) LIMIT 1
我得到了正确的结果,但是当我查询这个时:
SELECT a.ID, b.Nombre FROM turnos a JOIN operarios b ON a.oID = b.oId WHERE a.uId = 1 AND (TIME('2019-11-22 02:45:00') BETWEEN a.horaInicio AND a.horaFin ) LIMIT 1
我没有结果。
我正在尝试查找日期时间字段属于哪个班次。班次被定义为时间,我有一个开始时间和结束时间。查询SELECT * FROM移动WHERE TIME('2009-11-20 06:35:00')...
这是两种情况:开始时间结束时间。您需要这样的东西:
由于'19:00:00'
大于'06:00:00'
,所以: