38

私のデータベースには、標準のmysql日付型で保存された一連の日付があります。

元の日付に関係なく、2013年までの1年をどのように隠蔽できますか。

したがって、日付が2009-01-01の場合は2013-01-01になりますが、2012-01-04の場合は2013-01-14に変換されます。

シンプルでわかりやすいと思いましたが、わかりませんでした= /

4

5 に答える 5

79

それは簡単です:

DATETIME:

UPDATE table_name
SET date_col=DATE_FORMAT(date_col,'2013-%m-%d %T');

日付:

UPDATE table_name
SET date_col=DATE_FORMAT(date_col,'2013-%m-%d');
于 2013-01-24T01:03:24.403 に答える
9
UPDATE tableName
SET    dateColumn = dateColumn + INTERVAL 4 YEAR

他の方法はそれを連結することです、

UPDATE Table1
SET    DateColumn = CONCAT(YEAR(CURDATE()), '-', DATE_FORMAT(dateColumn, '%m-%d'))
于 2013-01-24T00:30:31.620 に答える
2

日付フィールドの場合:

  UPDATE table_name SET date_field_name = CONCAT("2013", RIGHT(date_field_name,6));

日時フィールドの場合:

UPDATE table_name SET date_field_name = CONCAT("2013", RIGHT(date_field_name,15));
于 2013-01-24T00:34:59.067 に答える