Tipos de datos en SQL
Oracle dispone de diferentes tipos de datos.
Estos tipos de datos son los que establecen la naturaleza de los valores que pueden tratar.
Un tipo de datos numérico solo puede tratar números, no podría tratar ni letras, ni cadenas, ni fechas.
Tipos de datos:
CHAR(n): Nos permite definir una cadena de caracteres de longitud fija, determinada por el argumento "n". Su rango es de 1 a 2000 caracteres. Es de tamaño fijo, de hasta 2000 caracteres. Si no se especifica tamaño será de 1. Si se ingresa un valor superior al indicado dará error.
Longitud fija significa que: Si definimos un campo como "char(10)" y almacenamos el valor "hola" (4 caracteres), Oracle rellenará las 6 posiciones restantes con espacios.
VARCHAR2(n): Almacena cadenas de caracteres de longitud variable determinada por el argumento “n". Su rango es de 1 a 4000 caracteres.
Es una cadena de longitud variable tiene como significado que: si definimos un campo como "Varchar2(10)" y almacenamos el valor "hola" (4 caracteres), Oracle solamente ocupa las 4 posiciones (4 bytes y no 10 como en el caso de "Char").
Por lo tanto, si la longitud es variable, es conveniente usar este tipo de dato y no "Char", así ocupamos menos espacio de almacenamiento en disco.
Alfanuméricos: lo usamos para tratar números y letras.
NCHAR(x): es semejante a "Char". Excepto que nos permite almacenar caracteres ASCII, Ebcdic y Unicode. Su rango va de 1 a 1000 caracteres. Se emplean 2 bytes por cada carácter.
NVARCHAR2(x): es semejante a "Varchar2". Excepto que nos permite almacenar caracteres unicode. Su rango va de 1 a 2000 caracteres. Se emplean 2 bytes por cada carácter.
Numéricos: lo usamos para tratar números.
INTEGER: almacena números enteros sin decimales y tiene una escala de 9.
NUMBER: almacena números enteros o decimales, positivos o negativos con una precisión de 1 a 38 y una escala de -8 a 127.
FLOAT: almacena números flotantes con mayor precisión.
Binarios:
RAW: Datos de longitud variable. Permite hasta 32767 bytes. A diferencia del tipo de datos Char y varchar2, Oracle no convierte los conjuntos de caracteres entre servidor y el cliente.
Fechas: tratan fechas.
DATE: Almacena los datos del siglo, año, mes, día, hora, minuto y segundo. Tiene una longitud máxima de 7 bytes.
Timestamp: Almacena lo mismo que el tipo de datos date, pero también los milisegundos. Tiene una longitud de 11 bytes.
Objetos largos: se usan para tratar valores grandes.
BLOB: Almacena ficheros de imágenes o videos de hasta 4gb.
CLOB: Almacena texto largo.
NCLOB: Almacena Clob en Unicode.
Rowid: se usan para localizar un registro en una tabla y su valor esta codificado en base 64.
