遇到这种表设计,叔叔要生气了!/doge
有个表 aaa 的时间字段前同事只存了 YYYY-MM,比如 2021-01 这种格式
| ID | money | create_time |
|---|---|---|
| 1 | xxx | 2021-01 |
| 2 | xxx | 2021-02 |
| 3 | xxx | 2021-03 |
| 4 | xxx | 2021-04 |
现在有个需求是前端传开始月份和结束月份来过滤记录。比如传 beginMonth 为 2021-02 、endMonth 为 2021-04 进来要得到 2 月、3 月和 4 月的数据
数据库用的是 MySQL,ORM 框架用的是 Mybatis
我试了几种方式都不成功,比如这样
beginMonth 和 endMonth 转成了日期传进来
SELECT * FROM aaa WHERE create_time >= #{beginMonth} AND create_time <= #{endMonth} 又比如这样
begMonth 和 endMonth 字符串的形式传进来
SELECT * FROM aaa WHERE DATE_FORMAT(create_time , '%Y-%m') >= #{beginMonth} AND DATE_FORMAT(create_time , '%Y-%m') <= #{endMonth} 都没法得到正确的返回。求助……
Thanks in advance !
