10
A
回答
13
UPDATE YourTable
SET YourDateColumn = SUBDATE(YourDateColumn, INTERVAL 9 YEAR);
5
使用ADDDATE(old_date, INTERVAL -9 YEAR)
2
UPDATE YourTable
SET YourDateColumn = ADDDATE(YourDateColumn, INTERVAL 1 YEAR)
WHERE YourDateColumn >= '2010-01-01'
AND YourDateColumn <= '2010-12-31';
如果你的桌子下不会对日期字段的索引,你可以不用它:
UPDATE YourTable
SET YourDateColumn = ADDDATE(YourDateColumn, INTERVAL 1 YEAR)
WHERE YEAR(YourDateColumn) = 2010;
要预计到2020解决您的日期问题去2021跑这个:
UPDATE YourTable
SET YourDateColumn = ADDDATE(YourDateColumn, INTERVAL -1 YEAR)
WHERE YEAR(YourDateColumn) = 2021;
顺便说一句,因为我复制了Joe Stefanelli的原始代码,他+1!
1
我想补充(更多游客到问题),您还可以在“更新”肯定比声明与SUBDATE
功能更快,我认为是合理的速度更快,而以把它aprox的。 1小时影响2.3万亿行SUBDATE
使它成为一半的时间。
UPDATE Table SET DateTimeField = SUBDATE(DateTimeField, INTERVAL -x YEAR);
其中x是您想添加为新年值的负数。 老实说,我忽略了为什么发生这种情况,但它的工作原理。
相关问题
- 1. 如何CONVER日期像2011年3月1日至只有2011年3月
- 2. 识别一周中相同日期的年份(例如1994年,2005年,2011年)
- 3. SQL日期范围年初至上一个月的上一年和上一年
- 4. 转换日期日(2011年5月12日至12日)
- 5. 更新日期+一年MySQL的
- 6. 需要有我的SQL Server Express二○○五年至2008年
- 7. 每年在特定日期将显示年份更改为下一年
- 8. NHibernate的同时,从SQL Server改变方言二零零八年至2000年
- 9. 日期时间的TryParse - 映射 '99' 至2099年,1999年不
- 10. 一年中,找到二月
- 11. 需要更改日期甲至今(年月日)格式
- 12. 二年级数组
- 13. 添加30天至日期(月/日/年)
- 14. 日期格式形式年01月30至2011-01-30
- 15. 安卓:在2011年中期
- 16. 如何转换日期4/7/2011 12:00:00 AM至2011年4月7日?
- 17. 如何添加日期与二月闰年的日期或不
- 18. javascript日期(年)
- 19. 转换的一年日期
- 20. 获得了周一和周二的所有日期为明年
- 21. NSDateFormatter设置日期至1970年
- 22. TFS升级2008年至2012年 - 更改检出,但在休假
- 23. 更改日期格式8月3日/ 2017年2017年3月8日
- 24. 日期部分(年,...)与年度(...)
- 25. 改变从2011-12-08的日期格式,以2011年12月8日
- 26. 日期请求一年场
- 27. 日期减1年?
- 28. T-SQL转换2010年1月28日至2010年1月28日星期五
- 29. 如何根据出生日期在Microsoft CRM 2011中计算年龄和年份
- 30. SharePoint迁移2010年至2013年
有问题的列的数据类型是什么? – 2011-12-14 20:12:22
列的数据类型为日期 – Chinmay 2011-12-14 20:15:05
[This](http://stackoverflow.com/questions/14491906/changing-year-in-mysql-date)一个更简单的解决方案 – 2015-11-18 10:45:25