MySQL如何将日期修改为对应月份的第一天
MySQL日期字段修改为当月首日的实现方法
可用实现方案
- 方案1:使用
DATE_FORMAT函数(最简洁直观)
直接通过日期格式化强制拼接当月1号,语法如下:
示例:DATE_FORMAT(目标日期字段, '%Y-%m-01')DATE_FORMAT('2020-12-14', '%Y-%m-01')运行结果为2020-12-01,完全符合需求。 - 方案2:使用日期运算实现
通过减去当月已过的天数计算得到首日,适合需要做复杂日期运算的场景:DATE_SUB(目标日期字段, INTERVAL (DAYOFMONTH(目标日期字段) - 1) DAY)
全表更新操作步骤
如果你需要直接修改表中所有存储的日期值:
- 先执行查询验证修改结果是否正确,避免误操作:
SELECT 日期字段, DATE_FORMAT(日期字段, '%Y-%m-01') AS 修正后日期 FROM 你的表名 LIMIT 10; - 确认结果无误后执行更新语句,如需筛选特定范围数据记得补充
WHERE条件:UPDATE 你的表名 SET 日期字段 = DATE_FORMAT(日期字段, '%Y-%m-01');
注意:执行全表更新前建议先备份数据,避免操作失误导致数据丢失。
内容的提问来源于stack exchange,提问作者jean10
相关产品推荐
相关产品推荐

