0

我已经将我的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 年间隔的类型。

有没有其他方法可以实现这一点或请告诉我如何纠正它?

4

1 回答 1

1

如果格式说明符不是格式字符串输入中的最后一个说明符,Mysql version > 5.0str_to_date()有时会返回。NULL%D

您需要应用一些技巧(%D在此处指定)。

试试下面:

 SELECT DATE_FORMAT(DATE_ADD(STR_TO_DATE('2010-04-01', '%Y-%m-%d'), INTERVAL 1 YEAR),'%Y-%m')
于 2012-04-19T02:33:15.597 回答