Mysql日期格式化 查询 问题

Mysql日期格式化 查询 问题

写sql语句 时发现怎么都查不出来数据,后来发现数据格式化后和前台传入的 数据格式不一样。

  1. 前台传入数据格式
    ‘2018-11-5’

  2. 原先sql查询语句(mybatis中)
    SELECT count(*) count,a.store_id storeid, DATE_FORMAT(a.timeone,'%Y-%m-%d') mytime, s.abbreviation abbreviation1 FROM store_file s LEFT JOIN order_customer a ON s.id = a.store_id GROUP BY mytime,a.store_id HAVING mytime = #{mytime}

  3. 问题所在及解决办法
    Mysql在格式化是月中的天分为两种,一种是 %d(00-31),另一种是%e(0-31),但是我的数据库中数据 存储的是’2018-11-05’,按照我的sql语句格式化后是’2018-11-05’,此时前台传入数据为’2018-11-5’,天数比对有问题,所以没有数据,所以只需要把%d改成%e即可正确比对数据

你可能感兴趣的:(mysql问题记录)