REPLACE と TRIM
CoddyのSQLジャーニー「応用」セクションの一部 — レッスン 9/27。
REPLACE(s, find, with) は、s 内のすべての find を with に置換します:
REPLACE('555-123-4567', '-', '') -- '5551234567'TRIM(s) は両端から空白を削除します。他の文字をトリムするには第2引数を渡し、片側のみのトリムには LTRIM / RTRIM を使用します:
TRIM(' hi ') -- 'hi'
TRIM('---hi---', '-') -- 'hi'これらは、テーブルを更新せずにインラインでカラムデータをクリーンアップする方法です。
チャレンジ
簡単利用可能なテーブルとカラム:
<strong>contacts</strong>:<strong>id</strong>,<strong>phone</strong>
各 phone には、前後のスペースや任意の数の - セパレータが含まれている場合があります。すべてのスペースとダッシュを取り除いた id と clean カラムを返してください。id で並べ替えてください。
チートシート
REPLACE(s, find, with) は、指定した部分文字列をすべて置換します:
REPLACE('555-123-4567', '-', '') -- '5551234567'TRIM(s) は両端から空白を削除します。他の文字を削除するには、2番目の引数を渡します。片側のみ削除する場合は LTRIM / RTRIM を使用します:
TRIM(' hi ') -- 'hi'
TRIM('---hi---', '-') -- 'hi'関数を入れ子にして、複数のクリーンアップを一度に適用することができます:
SELECT REPLACE(TRIM(phone), '-', '') AS clean FROM contacts;自分で試してみよう
SELECT id,
-- スペースとダッシュを取り除く
FROM contacts
ORDER BY id
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。