En el siguiente articulo vamos detallar todos los tipos de datos que tiene disponible Oracle. En la mayoría de casos son idénticos a cualquier otra base de datos relacional cómo SQL Server o PostgreSQL, pero otros son muy particulares. Aprenderte los tipos de datos disponibles te ayudará a crear las tablas correctamente y a crear sentencias más optimas.
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.