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
De serie a INTEGER
De fecha a INTEGER
De hora a INTEGER
De booleano a INTEGER
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'.
da como resultado el valorINTEGER(BIRTHDATE)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'.
da como resultado el valorINTEGER(STARTTIME)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)
