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 |
+-------------------------------------+