栏目:数据库(<--点此查看更多)有关 MySQL 和 Oracle 相关信息
  • Mysql 日期或时间比较的一个小问题

  • Mon Jan 09 13:57:07 CST 2017 编程者 我要收藏(...) 评论 ...
  • Mysql 日期比较,Mysql 时间比较
  • 有如下一个 SQL 条件判断:
    ... ...
    (dst.TIME_1ST_BEGIN <= DATE_FORMAT(nel.`EVAL_TIME`, '%H:%i:00') ||  
    dst.TIME_1ST_END >= DATE_FORMAT(nel.`EVAL_TIME`, '%H:%i:00')) && 
     dst.TIME_1ST_BEGIN >= dst.TIME_1ST_END
    ... ...
    数据:
    dst.TIME_1ST_BEGIN = '17:00:00';
    dst.TIME_1ST_END = '00:59:00';
    nel.`EVAL_TIME` 为任意日期

    此SQL条件的含义是判断一个日期是否在第一天的 17 点 到第二天的凌晨 0 点 59 分(此事件段为一个夜班班次)。

    问题描述:由于下一班次的时间设置为 01:00:00 到 07:59:00 因此会造成 00:59:01 - 00:59:59 一分钟的空白期,为了弥补此问题,对 EVAL_TIME 进行格式化处理。
    此处需要注意的问题是 格式要使用 %H:%i:00 而不是 %H:%。如果直接忽略秒在判断例如 17:00:00 >= 17:00 的时候将不成立。
  • 信息来源:http://bianchengzhe.com (举报这篇文章)
  • 好评(...) 中评(...) 差评(...)