sql date_add和date_format联合使用的问题
表scraplist中pdate保存日期值,想得到周次的清单,使用如下查询:
select distinct date_format(date_add(pdate,INTERVAL 3 day),’%YW%v’) as mm,pdate from scraplist ORDER by mm desc limit 0,12
得到的结果:
看到结果出现了2021W53,与日期明显对不上。
想着是否date_format和date_add联合使用的问题,修改查询方式,把date_format和date_add拆分开:
select distinct date_format(a.mm,’%YW%v’) as Mlist from (select distinct date_add(pdate,INTERVAL 3 day) as mm from scraplist ORDER by mm desc limit 0,12) as a order by Mlist desc
结果正确了!
虽然得到了想要的结果,但问题是什么?真是sql函数的bug吗?
使用环境:
服务器类型: MariaDB
服务器版本: 10.0.28-MariaDB - Source distribution
协议版本: 10
PHPMyAdmin:4.7版
查看説明,%v需要和%x一起使用,与%Y一起使用就会出现年份和周次不能对应的情况!!!