文字列を結合したり、0埋めしたり。
user_id が test01 から test50 までの範囲を対象に、それに対応する user_name を「テスト_01」「テスト_02」、・・・、「テスト_50」と変更する方法。
UPDATE table_name SET user_name = CONCAT('テスト_', LPAD(SUBSTRING(user_id, 5), 2, '0')) WHERE user_id BETWEEN 'test01' AND 'test50';
- CONCAT('テスト_', ...) は「テスト_」という文字列に、user_id の末尾(01, 02, …)を結合する
- SUBSTRING(user_id, 5) で user_id の5文字目以降(例えば test01 の場合は 01)を取り出す
- LPAD(SUBSTRING(user_id, 5), 2, '0') は、取得した部分(01 や 9 など)を2桁に揃える。例えば、9 は 09 に変換される
- WHERE user_id BETWEEN 'test01' AND 'test50' で、対象の user_id が test01 から test50 の範囲である行を絞り込む