问题描述
- PHP,MYSQL如何根据当前时间查询表中所对应的时间段
-
SELECT * FROM my_date;
ID START_DATE END_DATE VAL
1 00:00:00 06:00:00 0.5
2 06:00:00 20:00:00 11
3 20:00:00 00:00:00 99
如上图所示,要如何查询当前时间所匹配的行?SELECT * FROM my_date WHERE (start_date>CURTIME() and end_date<CURTIME());
现在的时间是 17:31,为什么这样返回的数据ID为3,不应该是2吗
解决方案
你这是属于字符串比较了吧。转化成日期对象在比较
解决方案二:
SELECT * FROM my_date WHERE (start_date>CURTIME() and end_date<CURTIME());
写反了。而且你没有带上日期。
解决方案三:
转成时间戳 然后比较大小就可以了
解决方案四:
你的条件设置错了吧
SELECT * FROM my_date WHERE (start_date<CURTIME() and end_date>CURTIME());
时间: 2024-08-03 22:11:59