正規表現で識別情報をマスキングする
正規表現は、REGEXP_REPLACE() を使って文字列中のパターンを置換することにも使えます。この関数は REPLACE() に似ており、シグネチャは REGEXP_REPLACE(source, pattern, replace, flags) です。
patternは、source文字列の中で一致させる文字列パターンです。replaceは、一致したパターンの代わりに使う置換文字列です。flagsは、一致の方法を制御するための任意の文字列です。
たとえば、REGEXP_REPLACE(xyz, '\d', '_', 'g') は、列 xyz の任意の数字文字(\d)をアンダースコア(_)に置き換えます。g("global")フラグにより、すべての一致が置換されます。
新しいウェブレポートで駐車違反の受取人のプライバシーを保護するため、plate_id 列のすべての英字をダッシュ(-)に置き換えて、実際のナンバープレート番号をマスキングする必要があります。
この演習はコースの一部です
PostgreSQLデータベースで学ぶデータクレンジング
演習の手順
REGEXP_REPLACE()を使って、レポートでマスクされたナンバープレート番号を使えるように、plate_id列のすべての大文字(AからZ)をダッシュ(-)に置き換えてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;