MASK_FIRST_N
描述
MASK_FIRST_N 函数主要作用是对数据的前 N 个字节进行屏蔽,以保护敏感信息,常用于数据脱敏场景。其行为是将前 N 个字节中的大写字母替换为X
,小写字母替换为x
,数字替换为n
。
语法
MASK_FIRST_N( <str> [, <n> ])
参数
参数 | 说明 |
---|---|
<str> | 需要被脱敏的数据 |
<n> | 可选参数,限制只让前 N 个字节进行数据屏蔽,默认是对整个字符串进行数据屏蔽 |
返回值
返回前 N 个字节中,字母和数字被替换后的字符串。特殊情况:
- 任意参数中有一个为 NULL,则返回 NULL
- 非字母和数字会原样返回
举例
select mask_first_n("1234-5678-8765-4321", 4);
+----------------------------------------+
| mask_first_n('1234-5678-8765-4321', 4) |
+----------------------------------------+
| nnnn-5678-8765-4321 |
+----------------------------------------+
select mask_first_n("1234-5678-8765-4321", null);
+-------------------------------------------+
| mask_first_n('1234-5678-8765-4321', NULL) |
+-------------------------------------------+
| NULL |
+-------------------------------------------+