mask

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