Cómo usar "cast" sobre un número para obtener un entero en Oracle (En 4 Pasos)
La función "cast" de Oracle te permite convertir temporalmente el valor de un campo de un tipo de datos a otro para que puedas realizar algunos cálculos y comparaciones entre campos de tipo parecido. Pero algunos tipos no te permiten usar el "cast" sobre ellos hacia otros tipos determinados. Sólo puedes usar "cast" sobre los tipos char, varchar2 o entero hacia enteros. Si tienes una columna en tu base de datos de Oracle que almacena números como cadenas o usa valores decimales, usa la herramienta de consulta de Oracle para escribir una consulta de selección que use la función "cast" para convertirlos en enteros. "Cast" redondea valores decimales cuando se usa en enteros.
Paso 1
Abre la herramienta de consulta de Oracle.
Paso 2
Escribe y ejecuta esta consulta:
SELECT CAST('155' AS integer) FROM dual;
Esta consulta toma la cadena "155" y la convierte en un entero. La tabla "dual" es una tabla ficticia que, por defecto, sólo tiene un registro, lo que asegura que la consulta sólo devuelve un registro.
Paso 3
Escribe y ejecuta esta consulta:
SELECT * FROM table_name WHERE CAST(id AS integer) = '155';
Esta consulta busca el campo "id" en la tabla "table_name", buscando el valor "155" para id. Asumiendo que "id" es la clave primaria, esta consulta sólo devolverá un registro.
Paso 4
Escribe y ejecuta esta consulta:
SELECT cost AS "Decimal", CAST(cost AS integer) AS "Integer" FROM table_name;
Esta consulta selecciona la columna "cost" de todos los registros de la tabla "table_name" y muestra los resultados en dos columnas. Asumiendo que el campo "cost" usa el tipo de datos decimal, la primera columna se llama "Decimal" y sólo muestra los valores. La segunda columna se llama "Integer" y muestra los valores decimales del campo "cost" convertidos en enteros. Por ejemplo, "14,99" se redondea a "15", "13,25" se redondea a "13" y "20" sigue siendo "20".