DIGITS

The DIGITS function returns a character-string representation of the absolute value of a number.

DIGITS(expression)
expression
An expression that returns a value of a built-in SMALLINT, INTEGER, BIGINT, DECIMAL, NUMERIC, character-string, or graphic-string data type. A string argument is cast to DECIMAL(63,31) before evaluating the function. For more information about converting strings to decimal, see DECIMAL or DEC.

If the argument can be null, the result can be null; if the argument is null, the result is the null value.

The result of the function is a fixed-length character string representing the absolute value of the argument without regard to its scale. The result does not include a sign or a decimal point. Instead, it consists exclusively of digits, including, if necessary, leading zeros to fill out the string. The length of the string is:

  • 5 if the argument is a small integer with a scale of zero
  • 10 if the argument is a large integer with a scale of zero
  • 19 if the argument is a big integer
  • p if the argument is a decimal (or an integer with a scale greater than zero) with a precision of p

The CCSID of the character string is the default SBCS CCSID at the current server.

Examples

  • Assume that a table called TABLEX contains an INTEGER column called INTCOL containing 10-digit numbers. List all combinations of the first four digits contained in column INTCOL.
      SELECT DISTINCT SUBSTR(DIGITS(INTCOL),1,4)
        FROM TABLEX
  • Assume that COLUMNX has the DECIMAL(6,2) data type, and that one of its values is -6.28.
      SELECT DIGITS(COLUMNX)
        FROM TABLEX
    Returns the value '000628'.

    The result is a string of length six (the precision of the column) with leading zeros padding the string out to this length. Neither sign nor decimal point appear in the result.