DIGITAL_MASKING
Description
The DIGITAL_MASKING function performs masking on numeric strings by replacing the middle part with **** in a fixed format, keeping the first 3 digits and last 4 digits. Equivalent to CONCAT(LEFT(id, 3), '****', RIGHT(id, 4)).
Syntax
DIGITAL_MASKING(<digital_number>)
Parameters
| Parameter | Description |
|---|---|
<digital_number> | The numeric string to be masked. Type: VARCHAR |
Return Value
Returns VARCHAR type, representing the masked numeric string.
Special cases:
- If the parameter is NULL, returns NULL
- Masking format: first 3 digits +
****+ last 4 digits - When string length is less than 7 digits, the result may overlap
Examples
- Basic usage: Mask an 11-digit phone number
SELECT digital_masking('13812345678');
+--------------------------------+
| digital_masking('13812345678') |
+--------------------------------+
| 138****5678 |
+--------------------------------+
- Numbers of different lengths
SELECT digital_masking('1234567890');
+-------------------------------+
| digital_masking('1234567890') |
+-------------------------------+
| 123****7890 |
+-------------------------------+
- Short number (less than 7 digits)
SELECT digital_masking('123');
+------------------------+
| digital_masking('123') |
+------------------------+
| 123****123 |
+------------------------+
- NULL value handling
SELECT digital_masking(NULL);
+-----------------------+
| digital_masking(NULL) |
+-----------------------+
| NULL |
+-----------------------+
- String with UTF-8 characters
SELECT digital_masking('13812ṭṛ34678');
+-------------------------------------+
| digital_masking('13812ṭṛ34678') |
+-------------------------------------+
| 138****4678 |
+-------------------------------------+