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

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桁未満の場合、結果が重複する可能性があります

  1. 基本的な使用法: 11桁の電話番号をマスク化
SELECT digital_masking('13812345678');
+--------------------------------+
| digital_masking('13812345678') |
+--------------------------------+
| 138****5678 |
+--------------------------------+
  1. 異なる長さの数値
SELECT digital_masking('1234567890');
+-------------------------------+
| digital_masking('1234567890') |
+-------------------------------+
| 123****7890 |
+-------------------------------+
  1. 短い番号(7桁未満)
SELECT digital_masking('123');
+------------------------+
| digital_masking('123') |
+------------------------+
| 123****123 |
+------------------------+
  1. NULL値の処理
SELECT digital_masking(NULL);
+-----------------------+
| digital_masking(NULL) |
+-----------------------+
| NULL |
+-----------------------+
  1. UTF-8文字を含む文字列
SELECT digital_masking('13812ṭṛ34678');
+-------------------------------------+
| digital_masking('13812ṭṛ34678') |
+-------------------------------------+
| 138****4678 |
+-------------------------------------+