我已将Mysql版本从Mysql5.0升级到Mysql5.5,
这是返回null
的查询,但同样的查询在升级之前返回了值。
SELECT DATE_FORMAT(DATE_ADD(STR_TO_DATE('2010-04', '%Y-%m'), INTERVAL 2 YEAR),'%Y-%m')
应该返回2012-04
我的日期值为varchar
类型,我想添加2年的间隔。
有没有其他方法可以实现这一点或请告诉我如何纠正它?
答案 0 :(得分:1)
Mysql版本> 5.0 str_to_date()
如果NULL
格式说明符不是格式字符串输入中的最后一个说明符,有时会返回%D
。
你需要应用一些技巧(在这里指定%D
)。
尝试以下:
SELECT DATE_FORMAT(DATE_ADD(STR_TO_DATE('2010-04-01', '%Y-%m-%d'), INTERVAL 1 YEAR),'%Y-%m')