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 バージョン > 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')
于 2012-04-19T02:33:15.597 に答える