メインコンテンツまでスキップ
バージョン: 26.x

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