MySQL行:
id work_time_from work_time_to
1 12:30 23:00
2 14:00 18:00
输入数据:
$curTime = 13:15
问题:
我必须获取相应条件的所有行 work_time_from < $ curTime<的 work_time_to
我的要求是:
SELECT * FROM companies WHERE work_time_from < "13:15" AND work_time_to > "13:15"
由于work_time_from,work_time_to varchar
类型,我觉得它不起作用。
答案 0 :(得分:2)
使用STR_TO_DATE
转换字段,然后BETWEEN
进行比较。
SELECT *
FROM yourtable
WHERE STR_TO_DATE(CURTIME(),'%h:%i') BETWEEN STR_TO_DATE(work_time_from,'%h:%i') AND STR_TO_DATE(work_time_to,'%h:%i')