MASK
説明
MASK関数は機密情報を保護するためにデータを遮蔽する機能で、データの匿名化シナリオでよく使用されます。デフォルトの動作では、入力文字列内の大文字をXに、小文字をxに、数字をnに変換します。
構文
MASK(<str> [, <upper> [, <lower> [, <number> ]]])
パラメータ
| Parameter | デスクリプション |
|---|---|
<str> | マスク処理が必要な文字列 |
<upper> | オプションのパラメータ、デフォルトで大文字をXに置換する。文字の連続が入力された場合、最初の文字が採用され、非ASCII文字が入力された場合、最初のバイトが採用される |
<lower> | オプションのパラメータ、デフォルトで小文字をxに置換する。文字の連続が入力された場合、最初の文字が採用され、非ASCII文字が入力された場合、最初のバイトが採用される |
<number> | オプションのパラメータ、デフォルトで数字をnに置換する。文字の連続が入力された場合、最初の文字が採用され、非ASCII文字が入力された場合、最初のバイトが採用される |
Return Value
大文字、小文字、数字をマスク処理した後の文字列を返す。特殊なケース:
- いずれかのParameterがNULLの場合、NULLが返される。
- アルファベット以外および数字以外の文字はマスク処理されない
Examples
select mask('abc123EFG');
+-------------------+
| mask('abc123EFG') |
+-------------------+
| xxxnnnXXX |
+-------------------+
select mask(null);
+------------+
| mask(NULL) |
+------------+
| NULL |
+------------+
select mask('abc123EFG', '*', '#', '$');
+----------------------------------+
| mask('abc123EFG', '*', '#', '$') |
+----------------------------------+
| ###$$$*** |
+----------------------------------+