0
点赞
收藏
分享

微信扫一扫

使用 data_format 遇到的问题

书坊尚 2021-09-23 阅读 56

1、语法

data_format(createTime,'%Y-%M') = '2020-11'

2、遇到的问题

今天遇到一个坑,在使用 data_format 的时候,我查询 2020-11 没有问题。但是我查询 2020-01 就出了问题。
原因是 data_format 将时间转化为日期的时候 。对于小于10的月份,前面会补 0 如:2020-01 2020-02 但是我前端传的日期格式是2020-1 导致匹配不上。

3、data_format 与 <> 哪一个比较好

对于 data_format 会将数据库里面的数据都转化为字符串,可能会有一点性能问题,同时不走索引。采用下面一种方式可能会好一点。

如:查询2020年1月的数据

select * from xx where data_format(createTime,'%Y-%m')  = '2020-01'

select * from xx where createTime >= 2020-01-01 and createTime < 2020-02-01
举报

相关推荐

0 条评论