En este artículo vamos a detallar todos los tipos de datos disponibles en Oracle, desde los más comunes hasta aquellos que son específicos de esta base de datos. Si bien muchos de ellos son similares a los que puedes encontrar en otras bases de datos relacionales como SQL Server o PostgreSQL, Oracle incluye algunos tipos de datos únicos que son esenciales para aprovechar todo su potencial.
Conocer los tipos de datos disponibles no solo te permitirá crear tablas correctamente, sino que también es clave para optimizar el rendimiento de tus consultas y garantizar que los datos se almacenen de manera eficiente. Desde tipos numéricos y de texto hasta fechas y estructuras avanzadas como los tipos de datos LOB o espaciales, este conocimiento es fundamental para trabajar de manera profesional con Oracle.
En este artículo encontrarás explicaciones claras y ejemplos prácticos para cada tipo de dato. Esto te ayudará a tomar decisiones informadas al diseñar tus tablas y escribir sentencias SQL más precisas y eficientes. Prepárate para profundizar en uno de los fundamentos más importantes de cualquier base de datos: sus tipos de datos.
Tipos de datos en Oracle
Tipos Numéricos
Disponemos de varios tipos de datos numéricos, por ejemplo en lo que respecta a números enteros tenemos el tipo int.
Si queremos almacenar números con decimales tendremos que crear campos de tipo real o double precisión. Estos tipos de datos se consideran de punto flotante y tienen la peculiaridad que pierden exactitud según van creciendo o decreciendo los valores, algo sin importancia en la mayoría de casos.
Para evitar esta perdida, también puedes utilizar el tipo de dato numeric, pero debes tener en cuenta que este tipo ocupa más espacio y las operaciones se ejecutan más lentas sobre ellos. En este tipo de dato le puedes asignar una precisión y una escala, pero si lo obvias podrás almacenar cualquier número. Recuerda que si creas un numeric(5,3) le estas indicando que el número va tener en total 5 numeros siendo 3 de ellos decimales. No pensar cómo es habitual que tendrá 5 enteros y 3 decimales.
create table TipoDatos ( numero2 int, numero4 numeric(5,3), numero5 real, numero6 double precision );
Tipo de caracteres
Tenemos disponibles tres tipos de datos de cadena; CHAR, NCHAR, VARCHAR2, NVARCHAR2, and VARCHAR.
- Los tipos de datos NCHAR y NVARCHAR2 son para almacenar cadenas de caracteres Unicode.
- Los tipos de datos de caracteres de longitud fija son CHAR, NCHAR y
- Los tipos de datos de caracteres de longitud variable son VARCHAR2, NVARCHAR2.
- VARCHAR es sinónimo de VARCHAR2. Sin embargo, no debe usar VARCHAR porque Oracle puede cambiar su semántica en el futuro.
Como insertar caracteres
Recuerda que al insertar un texto o cadena debes entrecomillarlo con comillas simples.
Tipo de Fecha y Hora
Tenemos disponibles 4 tipos de datos para insertar la fecha y hora en un campo; DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, y TIMESTAMP WITH LOCAL TIME ZONE
create table TipoDatos ( Fecha1 date, Fecha2 TIMESTAMP, Fecha3 TIMESTAMP WITH TIME ZONE, Fecha4 TIMESTAMP WITH LOCAL TIME ZONE ); insert into TipoDatos values (sysdate, sysdate, sysdate, sysdate);

Tipos RAW y LONG RAW
Los tipos de datos RAW y LONG RAW son para almacenar datos binarios o cadenas de bytes, por ejemplo, el contenido de documentos, archivos de sonido y archivos de vídeo. El tipo de datos RAW puede almacenar hasta 2000 bytes, mientras que el tipo de datos LONG RAW puede almacenar hasta 2 GB
Tipo BFILE
El tipo de datos BFILE almacena un localizador en un archivo binario grande que se encuentra fuera de la base de datos. El localizador consiste en el directorio y los nombres de archivo.
Tipo BLOB
BLOB significa objeto binario grande. Utiliza el tipo de datos BLOB para almacenar objetos binarios con el tamaño máximo de (4 gigabytes – 1) * (tamaño del bloque de la base de datos).
Tipo CLOB
CLOB significa objeto grande de caracteres. Se utiliza CLOB para almacenar caracteres de un solo byte o varios bytes con el tamaño máximo de (4 gigabytes – 1) * (tamaño del bloque de la base de datos).
Tipo NCLOB
NCLOB es similar a CLOB, excepto que puede almacenar los caracteres Unicode.
Tipo UROWID
El UROWID es principalmente para los valores devueltos por la pseudocolumna ROWID. Sus valores son cadenas base 64 que representan la dirección única de las filas de una tabla.