Перейти к содержимому
Последнее обновление

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