Последнее обновление
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 |
+-------------------------------------+