升级版本后,Mysql查询返回空记录

时间:2012-04-19 02:30:28

标签: php mysql sql database

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

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

1 个答案:

答案 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')