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