Skip to main content
Version: 24.3.x


Categories: String


Returns a masked version of a string with the first num_chars characters masked. By default, if you do not provide a mask value, the first four characters are masked.


MASK_FIRST_N(expression varchar [, num_chars int] [, uc_mask varchar] [, lc_mask varchar] [, num_mask varchar]) → varchar

  • expression: The string to mask.
  • num_chars (optional): The number of characters to mask.
  • uc_mask (optional): Controls the mask character for upper case letters.
  • lc_mask (optional): Controls the mask character for lower case letters.
  • num_mask (optional): Controls the mask character for numbers.


MASK_FIRST_N example
-- xxxx-ABCD-1234
MASK_FIRST_N example containing optional number of characters to mask
SELECT MASK_FIRST_N('abcd-ABCD-1234', 2)
-- xxcd-ABCD-1234
MASK_FIRST_N example containing optional arguments
SELECT MASK_FIRST_N('Aa12-ABCD-1234', 4, 'U', 'u', '#')
-- Uu##-ABCD-1234
MASK_FIRST_N example containing only the optional argument for lower case letters
SELECT MASK_FIRST_N('abcd-ABCD-1234', 7, '', 'u', '')
-- uuuu-XXCD-1234

Usage Notes

By default, upper case letters are converted to X, lower case letters are converted to x, and numbers are converted to n. You can override the characters used in the mask by supplying optional arguments. The second argument controls the mask character for upper case letters, the third argument for lower case letters, and the fourth argument for numbers.