Función escalar DIGITS

La función DIGITS devuelve una representación en forma de serie de caracteres de un número.

Leer el esquema de sintaxisOmitir el esquema de sintaxis visualDIGITS(expresión)

El esquema es SYSIBM.

expresión

Expresión que devuelve un valor de uno de los siguientes tipos de datos incorporados: SMALLINT, INTEGER, BIGINT, DECIMAL, CHAR o VARCHAR. En una base de datos Unicode, si un argumento proporcionado es un tipo de datos GRAPHIC o VARGRAPHIC, se convertirá a una serie de caracteres antes de que se ejecute la función. Los valores CHAR o VARCHAR se convierten implícitamente a DECIMAL(31,6) antes de evaluar la función.

Si el argumento puede ser nulo, el resultado puede ser nulo; si el argumento es nulo, el resultado es el valor nulo.

El resultado de la función es una serie de caracteres de longitud fija que representa el valor absoluto del argumento sin tener en cuenta su escala. El resultado no incluye el signo ni el carácter decimal. En su lugar, consta exclusivamente de dígitos, incluyendo, si es necesario, ceros iniciales para rellenar la serie. La longitud de la serie es:
  • 5 si el argumento es un entero pequeño
  • 10 si el argumento es un entero grande
  • 19 si el argumento es un entero superior
  • p si el argumento es un número decimal con una precisión de p.

Ejemplos

  • Ejemplo 1: supongamos que una tabla llamada TABLEX contiene una columna INTEGER llamada INTCOL que contiene números de 10 dígitos. Liste las cuatro combinaciones de dígitos de los cuatro primeros dígitos de la columna INTCOL.
       SELECT DISTINCT SUBSTR(DIGITS(INTCOL),1,4)
         FROM TABLEX
  • Ejemplo 2: supongamos que la columna COLUMNX tiene el tipo de datos DECIMAL(6,2) y que uno de sus valores es -6.28. Entonces, para este valor:
    
       DIGITS(COLUMNX)
    devuelve el valor '000628'.

    El resultado es una serie de longitud seis (la precisión de la columna) con ceros iniciales que rellenan la serie hasta esta longitud. No aparecen ni el signo ni la coma decimal en el resultado.