zhou20899
zhou20899
采纳率0%
2015-04-14 09:33 阅读 1.8k

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吗

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • danielinbiti danielinbiti 2015-04-14 09:40

    你这是属于字符串比较了吧。转化成日期对象在比较

    点赞 4 评论 复制链接分享
  • devmiao devmiao 2015-04-14 10:56

    SELECT * FROM my_date WHERE (start_date>CURTIME() and end_date<CURTIME());
    写反了。而且你没有带上日期。

    点赞 3 评论 复制链接分享
  • oyljerry oyljerry 2015-04-14 10:54

    你的条件设置错了吧

     SELECT * FROM my_date WHERE (start_date<CURTIME() and end_date>CURTIME()); 
    
    点赞 评论 复制链接分享
  • zhangsheng_1992 zhangsheng_1992 2015-04-15 02:05

    转成时间戳 然后比较大小就可以了

    点赞 评论 复制链接分享

相关推荐