Función escalar INTEGER

La función INTEGER devuelve una representación de entero grande (un entero binario con una precisión de 31 bits) de un valor de un tipo de datos diferente.

De numérico a INTEGER

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual INTEGER ( expresión-numérica )

De serie a INTEGER

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual INTEGER ( expresión-serie )

De fecha a INTEGER

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual INTEGER ( expresión-fecha )

De hora a INTEGER

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual INTEGER ( expresión-hora )

De booleano a INTEGER

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual INTEGER ( expresión-booleana )

El esquema es SYSIBM.

De numérico a INTEGER
expresión-numérica
Expresión que devuelve un valor de cualquier tipo de datos numérico incorporado.

El resultado es el mismo número que el que se generaría si se asignara el argumento a una variable o columna de enteros grandes. La parte fraccional del argumento se trunca. Si la parte completa del argumento no está dentro del rango de los enteros grandes, se devuelve un error (SQLSTATE 22003).

De serie a INTEGER
expresión-serie
Expresión que devuelve un valor de serie de caracteres o la representación de serie gráfica Unicode de un número con una longitud no superior a la longitud máxima de una constante de caracteres.

El resultado es el mismo número que generaría CAST (expresión-serieAS INTEGER). Los espacios en blanco iniciales y finales se eliminan y la serie resultante debe ajustarse a las normas para formar una constante de entero, decimal, de coma flotante o coma flotante decimal (SQLSTATE 22018). Si la parte completa del argumento no está dentro del rango de los enteros grandes, se devuelve un error (SQLSTATE 22003). El tipo de datos de expresión-serie no debe ser CLOB o DBCLOB (SQLSTATE 42884).

De fecha a INTEGER
expresión-fecha
Expresión que devuelve un valor del tipo de datos DATE. El resultado es un valor INTEGER que representa la fecha como aaaammdd.
De hora a INTEGER
expresión-hora
Expresión que devuelve un valor del tipo de datos TIME. El resultado es un valor INTEGER que representa la hora como hhmmss.
De booleano a INTEGER
expresión-booleana
Expresión que devuelve un valor booleano (TRUE o FALSE). El resultado es 1 (para TRUE) o 0 (para FALSE).

Resultado

El resultado de la función es un entero grande. Si el argumento puede ser nulo, el resultado puede ser nulo; si el argumento es nulo, el resultado es el valor nulo.

Notas

  • Aumento de portabilidad de aplicaciones: Si el primer argumento es numérico, o si el primer argumento es una serie y se especifica el argumento de longitud, utilice Especificación CAST en lugar de esta función para aumentar la portabilidad de las aplicaciones.

Ejemplos

  • Ejemplo 1: seleccionar, utilizando la tabla EMPLOYEE, una lista que contenga el salario (SALARY) dividido por el nivel de formación (EDLEVEL). Trunque cualquier decimal en el cálculo. La lista también debe contener los valores utilizados en el cálculo y el número de empleado (EMPNO). La lista debe estar en orden descendente del valor calculado.
       SELECT INTEGER (SALARY / EDLEVEL), SALARY, EDLEVEL, EMPNO
         FROM EMPLOYEE
         ORDER BY 1 DESC
  • Ejemplo 2: seleccionar, utilizando la tabla EMPLOYEE, la columna EMPNO en el formato de enteros para procesarla más en la aplicación.
       SELECT INTEGER(EMPNO) FROM EMPLOYEE
  • Ejemplo 3: supongamos que la columna BIRTHDATE (cuyo tipo de datos es DATE) tiene un valor interno equivalente a '1964-07-20'.
       INTEGER(BIRTHDATE)
    da como resultado el valor 19 640 720.
  • Ejemplo 4: supongamos que la columna STARTTIME (cuyo tipo de datos es TIME) tiene un valor interno equivalente a '12:03:04'.
       INTEGER(STARTTIME)
    da como resultado el valor 120 304.
  • Ejemplo 5: La sentencia siguiente devuelve el valor de 1 del tipo de datos INTEGER.
       values INTEGER(TRUE)
  • Ejemplo 6: La sentencia siguiente devuelve el valor de 0 del tipo de datos INTEGER.
       values INTEGER(3>3)