# DIGITS scalar function

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

The schema is SYSIBM.

expression

An expression that returns a value of one of the following built-in data types: SMALLINT, INTEGER, BIGINT, DECIMAL, CHAR, or VARCHAR. In a Unicode database, if a supplied argument is a GRAPHIC or VARGRAPHIC data type, it is first converted to a character string before the function is executed. A CHAR or VARCHAR value is implicitly cast to DECIMAL(31,6) before evaluating the function.

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 character. 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
• 10 if the argument is a large integer
• 19 if the argument is a big integer
• p if the argument is a decimal number with a precision of p.

## Examples

• Example 1: Assume that a table called TABLEX contains an INTEGER column called INTCOL containing 10-digit numbers. List all distinct four digit combinations of the first four digits contained in column INTCOL.
``````   SELECT DISTINCT SUBSTR(DIGITS(INTCOL),1,4)
FROM TABLEX``````
• Example 2: Assume that COLUMNX has the DECIMAL(6,2) data type, and that one of its values is -6.28. Then, for this value:
``   DIGITS(COLUMNX)``
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.