mask
mask 介绍
mask(input[, upperChar, lowerChar, digitChar, otherChar]) - 掩蔽给定的字符串值。该函数用 'X' 或 'x' 替换字符,用 'n' 替换数字。这对于创建删除敏感信息的表的副本非常有用。
参数:
- input - 要掩蔽的字符串值。支持的类型:STRING, VARCHAR, CHAR
- upperChar - 用于替换大写字符的字符。指定 NULL 以保留原始字符。默认值:'X'
- lowerChar - 用于替换小写字符的字符。指定 NULL 以保留原始字符。默认值:'x'
- digitChar - 用于替换数字字符的字符。指定 NULL 以保留原始字符。默认值:'n'
- otherChar - 用于替换所有其他字符的字符。指定 NULL 以保留原始字符。默认值:NULL
Examples:
> SELECT mask('abcd-EFGH-8765-4321');
xxxx-XXXX-nnnn-nnnn
> SELECT mask('abcd-EFGH-8765-4321', 'Q');
xxxx-QQQQ-nnnn-nnnn
> SELECT mask('AbCD123-@$#', 'Q', 'q');
QqQQnnn-@$#
> SELECT mask('AbCD123-@$#');
XxXXnnn-@$#
> SELECT mask('AbCD123-@$#', 'Q');
QxQQnnn-@$#
> SELECT mask('AbCD123-@$#', 'Q', 'q');
QqQQnnn-@$#
> SELECT mask('AbCD123-@$#', 'Q', 'q', 'd');
QqQQddd-@$#
> SELECT mask('AbCD123-@$#', 'Q', 'q', 'd', 'o');
QqQQdddoooo
> SELECT mask('AbCD123-@$#', NULL, 'q', 'd', 'o');
AqCDdddoooo
> SELECT mask('AbCD123-@$#', NULL, NULL, 'd', 'o');
AbCDdddoooo
> SELECT mask('AbCD123-@$#', NULL, NULL, NULL, 'o');
AbCD123oooo
> SELECT mask(NULL, NULL, NULL, NULL, 'o');
NULL
> SELECT mask(NULL);
NULL
> SELECT mask('AbCD123-@$#', NULL, NULL, NULL, NULL);
AbCD123-@$#
Since: 3.4.0