メインコンテンツまでスキップ
に最終更新

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