sql >> Base de Datos >  >> RDS >> Oracle

Tipos de datos de Oracle

Cuando crea una tabla de Oracle, debe especificar un tipo de datos para cada columna, que está asociado con un formato de almacenamiento específico, restricciones y un rango válido de valores. El conocimiento de los tipos de datos es necesario antes de crear la tabla. Aquí, en este artículo, veremos importantes tipos de datos de Oracle que usará en PLSQL, SQL con bastante frecuencia mientras trabaja con la base de datos de Oracle

Oracle proporciona las siguientes categorías de tipos de datos integrados:
Tipos de datos de caracteres
Tipos de datos numéricos
Tipo de datos DATE
Tipos de datos LOB
Tipos de datos RAW y LONG RAW
Tipos de datos ROWID y UROWID

Tipo de datos de carácter

-CHAR, NCHAR, VARCHAR2 y NVARCHAR2.

El tipo de datos CHAR es una cadena alfanumérica de longitud fija que tiene una longitud máxima en bytes.

-Al crear un tipo de datos CHAR, la base de datos conservará espacio para los datos entrantes y, si los datos son más cortos que el tamaño máximo, se rellenarán con espacios a la derecha

Por ejemplo, si declara una variable/columna del tipo de datos CHAR (5), siempre tomará 5 bytes independientemente de si está almacenando 1 carácter o 5 caracteres en esta variable o columna. Y en este ejemplo, como hemos declarado esta variable/columna como CHAR(5), podemos almacenar un máximo de 5 caracteres en esta columna.

-El tipo de datos VARCHAR2 es una cadena alfanumérica de longitud variable, que tiene una longitud máxima en bytes. Puede almacenar hasta 4000 bytes.

VARCHAR2 es un tipo de datos de longitud variable. Por ejemplo, si declara una variable/columna del tipo de datos VARCHAR 2(10), tomará la cantidad de bytes igual a la cantidad de caracteres almacenados en esta columna. Entonces, en esta variable/columna, si está almacenando solo un carácter, tomará solo un byte y si está almacenando 10 caracteres, tomará 10 bytes. Y en este ejemplo, como hemos declarado esta variable/columna como VARCHAR2 (10), podemos almacenar un máximo de 10 caracteres en esta columna. El espacio utilizado dependerá de los valores en la columna y no habrá desperdicio de espacio.

También destacaría aquí una cosa que cuando damos VARCHAR2 (10) aquí es 10 es el número de bytes, no el carácter. El número de caracteres y bytes es similar cuando se trata de caracteres ASCII, pero la ecuación cambia, comenzamos a usar caracteres que no sean ASCII

The length semantics of character datatypes can be measured in bytes or characters.

Byte semantics treat strings as a sequence of bytes. This is the default for character datatypes.

Character semantics treat strings as a sequence of characters. A character is technically a codepoint of the database character set.

So VARCHAR (10 Byte) has length measured in byte. VARCHAR (10 CHAR)  has length measured in character.

The default for VARCHAR is based on NLS_LENGTH_SEMANTICS parameter set in the database. By default this is set to Byte,so when we use VARCHAR(10) , it uses length measured in byte

-El tipo de datos VARCHAR es sinónimo del tipo de datos VARCHAR2. Para evitar posibles cambios en el comportamiento, utilice siempre el tipo de datos VARCHAR2 para almacenar cadenas de caracteres de longitud variable.

-NCHAR y NVARCHAR2 son tipos de datos Unicode que almacenan datos de caracteres Unicode. El juego de caracteres de los tipos de datos NCHAR y NVARCHAR2 solo puede ser AL16UTF16 o UTF8 y se especifica en el momento de la creación de la base de datos como el juego de caracteres nacional. AL16UTF16 y UTF8 tienen codificación Unicode.

Example

create table test  (
First_name char(6),
Last_name varchar2(10));

Tipo de dato numérico

-NÚMERO o NÚMERO(p,s)

-El tipo de datos NUMBER(p,s) almacena el número con precisión y escala.

– El tipo de datos NUMBER almacena hasta 38 dígitos de precisión

-Los tipos de datos numéricos almacenan números enteros negativos y positivos, números de punto fijo y números de punto flotante

-Cuando una columna se define como NÚMERO (6, 2), el rango de valores se puede almacenar desde -9999.99 a 9999.99. Así que tenemos dígitos totales como 6 y 4 dígitos antes del decimal y 2 dígitos después del decimal. Oracle redondea los números de coma flotante.

Example

create table test  (
First_name char(6),
Last_name varchar2(10)
age number;
Salary number(10,2)
); 

Fecha y hora

–FECHA, MARCA DE TIEMPO (con zona horaria o zona horaria local),

-El tipo de datos DATE se utiliza para almacenar información de fecha y hora.

-Este tipo de datos tiene una serie de funciones específicas para manipular, formatear y ver sus datos.

-El tipo de datos DATE tiene almacenamiento de siete bytes y tiene información sobre siglo, año, mes, día, horas, minutos y segundos.
-El parámetro NLS_DATE_FORMAT se puede cambiar para controlar la visualización de los datos. La función SYSDATE devuelve la fecha actual

–La base de datos de Oracle también proporciona el tipo de datos DATE con reconocimiento de la zona horaria

MARCA DE TIEMPO CON ZONA HORARIA
MARCA DE TIEMPO CON ZONA HORARIA LOCAL

 Example

create table test  (
First_name char(6),
Last_name varchar2(10)
age number,
Salary number(10,2),
start_date date );

Objetos grandes

-BLOB(objeto binario grande) , CLOB(objeto grande de carácter) , NCLOB Y BFILE

-Las columnas de estos tipos de datos pueden almacenar datos no estructurados, incluidos texto, imágenes, videos y datos espaciales. -El tipo de datos CLOB puede almacenar hasta ocho terabytes de datos de caracteres utilizando el conjunto de caracteres de la base de datos CHAR.

-El tipo de datos BLOB se usa para almacenar grandes objetos binarios no estructurados, como los asociados con datos de imagen y video, donde los datos son simplemente un flujo de valores de "bit".

-El valor del tipo de datos BFILE funciona como un localizador de archivos o puntero a un archivo en el sistema de archivos del servidor. El tamaño máximo de archivo admitido es de 8 TB a 128 TB.

Largo

Datos de caracteres de longitud variable hasta 2 G

filo

Un sistema numérico de base 64 que representa la dirección única de la fila en la tabla

Espero que les guste este contenido sobre los tipos de datos de Oracle

Artículos relacionados

Índices de Oracle
Preguntas de la entrevista de Oracle
Funciones de fecha en Oracle
Declaración INSERT en Oracle
Declaración de actualización en Oracle
cómo verificar todas las restricciones en una tabla en Oracle
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832