に最終更新
DIGITAL_MASKING
説明
DIGITAL_MASKING 関数は、数値文字列の先頭 3 桁と末尾 4 桁を残し、中央部分を固定形式の **** に置き換えてマスキングします。CONCAT(LEFT(id, 3), '****', RIGHT(id, 4)) と同等です。
構文
DIGITAL_MASKING(<digital_number>)
パラメータ
| パラメータ | 説明 |
|---|---|
<digital_number> | マスキングする数値文字列。型: VARCHAR |
戻り値
マスキングした数値文字列を表す VARCHAR 型の値を返します。
特殊なケース:
- 引数が NULL の場合は、NULL を返します。
- マスキング形式は、先頭 3 桁 +
****+ 末尾 4 桁です。 - 文字列が 7 桁未満の場合、結果の先頭部分と末尾部分が重複することがあります。
例
- 基本的な使い方: 11 桁の電話番号をマスキングします。
SELECT digital_masking('13812345678');
+--------------------------------+
| digital_masking('13812345678') |
+--------------------------------+
| 138****5678 |
+--------------------------------+
- 桁数の異なる数値文字列
SELECT digital_masking('1234567890');
+-------------------------------+
| digital_masking('1234567890') |
+-------------------------------+
| 123****7890 |
+-------------------------------+
- 短い数値文字列(7 桁未満)
SELECT digital_masking('123');
+------------------------+
| digital_masking('123') |
+------------------------+
| 123****123 |
+------------------------+
- NULL 値の扱い
SELECT digital_masking(NULL);
+-----------------------+
| digital_masking(NULL) |
+-----------------------+
| NULL |
+-----------------------+
- UTF-8 文字を含む文字列
SELECT digital_masking('13812ṭṛ34678');
+-------------------------------------+
| digital_masking('13812ṭṛ34678') |
+-------------------------------------+
| 138****4678 |
+-------------------------------------+