メインコンテンツまでスキップ

MASK

説明

MASK関数は機密情報を保護するためにデータを隠蔽する機能であり、データの匿名化シナリオで一般的に使用されます。デフォルトの動作では、入力文字列の大文字をXに、小文字をxに、数字をnに変換します。

構文

MASK(<str> [, <upper> [, <lower> [, <number> ]]])

パラメータ

パラメータ説明
<str>マスクする必要がある文字列
<upper>オプションパラメータ、大文字をデフォルトでXに置き換えます。文字のシーケンスが入力された場合、最初の文字が使用され、非ASCII文字が入力された場合、最初のバイトが使用されます
<lower>オプションパラメータ、小文字をデフォルトでxに置き換えます。文字のシーケンスが入力された場合、最初の文字が使用され、非ASCII文字が入力された場合、最初のバイトが使用されます
<number>オプションパラメータ、数字をデフォルトでnに置き換えます。文字のシーケンスが入力された場合、最初の文字が使用され、非ASCII文字が入力された場合、最初のバイトが使用されます

戻り値

大文字、小文字、数字をマスクした後の文字列を返します。特殊なケース:

  • いずれかのパラメータがNULLの場合、NULLが返されます。
  • アルファベット以外および数字以外の文字はマスクされません

select mask('abc123EFG');
+-------------------+
| mask('abc123EFG') |
+-------------------+
| xxxnnnXXX |
+-------------------+
select mask(null);
+------------+
| mask(NULL) |
+------------+
| NULL |
+------------+
select mask('abc123EFG', '*', '#', '$');
+----------------------------------+
| mask('abc123EFG', '*', '#', '$') |
+----------------------------------+
| ###$$$*** |
+----------------------------------+