人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

mysqlについての質問です。

現在、created というカラムに、datetime 型にて以下のような日時が登録されています。
これの、西暦と月だけを変更したいのですが、どのようなsqlを実行すれば良いでしょうか?

2009-04-03 20:43:31

2010-03-03 20:43:31

update customers set created = '2010-03'

みたいなことをしたいのですが、実行すると 0000-00-00 となってしまいます。


●質問者: yamamoton3
●カテゴリ:ウェブ制作
✍キーワード:00 2009-04-03 2010-03-03 MySQL SET
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● onishi
●35ポイント ベストアンサー

特定の期間ずらしたいなら

UPDATE customers SET created = DATE_ADD(created, INTERVAL 11 MONTH);

もしくは文字列置換で

UPDATE customers SET created = REPLACE(created, '2009-04', '2010-03');

期間でなく変更後の値が固定なら

UPDATE customers SET created = CONCAT('2010-03', SUBSTRING(created, 8,12));

というのはどうでしょう。

◎質問者からの返答

1番のでOKでした!

ありがとうございます。


2 ● Km1967
●35ポイント

13ヶ月先であるなら下記ではどうか?

update customers set created = created + INTERVAL 13 MONTH
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ