Home
Blog
Products
Profile
Study
Collatz
© 2024 Oizumi Yuta

【MySQL】 クエリメモ

2025-3-6

文字列を結合したり、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 の範囲である行を絞り込む