始める無料で始める

正規表現で識別情報をマスキングする

正規表現は、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;
コードを編集して実行