HDP115

Tipos de datos en SQL

Los tipos de datos en SQL son fundamentales para almacenar y manipular información en bases de datos. Conocerlos es esencial para un desarrollo eficiente.

CE

Cristian Escalante

Última actualización: 29 de abril de 2025

sql
programación
desarrollo

Descripción de los tipos de datos en SQL

Para almacenar y manipular datos en SQL, es fundamental comprender los tipos de datos disponibles. Estos tipos determinan cómo se almacenan y procesan los datos en una base de datos.

¿Qué son los Tipos de Datos en PL/SQL?

Los tipos de datos definen qué clase de información puede almacenar una variable o columna. PL/SQL (el lenguaje procedural de Oracle) tiene varios tipos, cada uno con un propósito específico.

Saber que tipo de dato usar es importante porque permite: evitar errores, optimizar espacio, mejora la claridad de los datos.

Tipos de Datos Numéricos

Estos almacenan números, ya sean enteros o decimales. Los tipos más comunes son INTEGER, FLOAT y DECIMAL. Cada uno tiene su propio rango y precisión.

Tipo de datoDescripciónDatatypeEjemplo
INTEGERAlmacena números enteros.INTEGER, INTEGER(n)42
FLOATAlmacena números de punto flotante.FLOAT, REAL3.14
DECIMALAlmacena números decimales con precisión fija.DECIMAL(p,s)123.45
NUMBERAlmacena números con precisión variable.NUMBER(p,s)1234567890.12
PLS_INTEGERAlmacena números enteros con un rango más amplio.PLS_INTEGER1000000
BINARY_FLOATAlmacena números de punto flotante en formato binario.BINARY_FLOAT3.14
BINARY_DOUBLEAlmacena números de punto flotante en formato binario.BINARY_DOUBLE3.14
NUMERICAlmacena números con precisión variable.NUMERIC(p,s)123.45
INTSinónimo de INTEGER.INT42
SMALLINTAlmacena números enteros pequeños.SMALLINT32
TINYINTAlmacena números enteros muy pequeños.TINYINT8
BIGINTAlmacena números enteros grandes.BIGINT9223372036854775807

Ejemplo DDL en SQL:

CREATE TABLE productos (
    id_producto INT PRIMARY KEY,
    precio DECIMAL(10, 2)  -- Precio con 10 dígitos, 2 decimales
);

Ejemplo en PL/SQL:

DECLARE
    precio NUMBER(6,2) := 99.99; -- 6 dígitos, 2 decimales
    edad PLS_INTEGER := 25;
BEGIN
    DBMS_OUTPUT.PUT_LINE('Precio: ' || precio);
    DBMS_OUTPUT.PUT_LINE('Edad: ' || edad);
END;

Tipos de Datos de Texto (Caracteres)

Los tipos de datos de texto permiten almacenar cadenas de caracteres. En SQL, los tipos más comunes son CHAR, VARCHAR y TEXT. Cada uno tiene sus propias características y limitaciones.

Tipo de datoDescripciónDatatypeEjemplo
CHARAlmacena cadenas de longitud fija.CHAR(n)'Hola'
VARCHARAlmacena cadenas de longitud variable.VARCHAR(n)'Hola Mundo'
TEXTAlmacena cadenas de longitud variable (sin límite).TEXT'Texto largo'
NCHARAlmacena cadenas de longitud fija (Unicode).NCHAR(n)'Hola'
NVARCHARAlmacena cadenas de longitud variable (Unicode).NVARCHAR(n)'Hola Mundo'
CLOBAlmacena grandes cantidades de texto.CLOB'Texto largo'
BLOBAlmacena datos binarios grandes.BLOB'Datos binarios'
VARCHAR2Almacena cadenas de longitud variable (Oracle).VARCHAR2(n)'Hola Mundo'
LONGAlmacena grandes cantidades de texto (sin límite).LONG'Texto largo'

Ejemplo DDL en SQL:

CREATE TABLE usuarios (
    id_usuario INT PRIMARY KEY,
    nombre VARCHAR(100),
    apellido VARCHAR(100),
    email VARCHAR(255) UNIQUE
);

Ejemplo en PL/SQL:

DECLARE
    nombre VARCHAR2(50) := 'Cristian';
    apellido VARCHAR2(50) := 'Escalante';
    email VARCHAR2(100) := 'ejemplo@correo.com'; -- Asignar un valor al email
BEGIN
    DBMS_OUTPUT.PUT_LINE('Nombre: ' || nombre);
    DBMS_OUTPUT.PUT_LINE('Apellido: ' || apellido);
    DBMS_OUTPUT.PUT_LINE('Email: ' || email); -- Mostrar el email
END;

Tipos de Datos de Fecha y Hora

Permiten almacenar fechas, horas o marcas temporales. En SQL, los tipos más comunes son DATE, TIME y TIMESTAMP. Cada uno tiene su propio formato y precisión.

Tipo de datoDescripciónDatatypeEjemplo
DATEAlmacena fechas (año, mes, día).DATE'2023-04-29'
TIMEAlmacena horas (hora, minuto, segundo).TIME'14:30:00'
TIMESTAMPAlmacena fecha y hora (año, mes, día, hora, minuto, segundo).TIMESTAMP'2023-04-29 14:30:00'

Ejemplo DDL en SQL:

CREATE TABLE eventos (
    id_evento INT PRIMARY KEY,
    fecha_evento DATE,
    hora_evento TIME,
    timestamp_evento TIMESTAMP
);

Ejemplo en PL/SQL:

DECLARE
    fecha DATE := TO_DATE('2023-04-29', 'YYYY-MM-DD');
    hora TIME := TO_TIMESTAMP('14:30:00', 'HH24:MI:SS');
    timestamp TIMESTAMP := TO_TIMESTAMP('2023-04-29 14:30:00', 'YYYY-MM-DD HH24:MI:SS');
BEGIN
    DBMS_OUTPUT.PUT_LINE('Fecha: ' || fecha);
    DBMS_OUTPUT.PUT_LINE('Hora: ' || hora);
    DBMS_OUTPUT.PUT_LINE('Timestamp: ' || timestamp);
END;

Tipos de Datos Booleanos y Especiales

Los tipos de datos booleanos permiten almacenar valores de verdadero o falso. En SQL, el tipo de dato BOOLEAN es utilizado para este propósito.

Tipo de datoDescripciónDatatypeEjemplo
BOOLEANAlmacena valores de verdadero o falso.BOOLEANTRUE
BITAlmacena un solo bit de información.BIT1
JSONAlmacena datos en formato JSON.JSON'{"key": "value"}'
XMLAlmacena datos en formato XML.XML''

Ejemplo DDL en SQL:

CREATE TABLE configuraciones (
    id_config INT PRIMARY KEY,
    activo BOOLEAN,
    configuracion JSON
);

Ejemplo en PL/SQL:

DECLARE
    activo BOOLEAN := TRUE;
    configuracion JSON := '{"key": "value"}';
BEGIN
    DBMS_OUTPUT.PUT_LINE('Activo: ' || activo);
    DBMS_OUTPUT.PUT_LINE('Configuración: ' || configuracion);
END;
¿Cómo crear un diccionario de datos?
Un diccionario de datos puede ser un conjunto de tablas, en ...
Restricciones en SQL
Las restricciones en SQL se aplican a las tablas y columnas ...
Referencias
IBM. (28 de noviembre del 2022). Tipos de datos (PL/SQL). https://www.ibm.com/docs/es/db2/11.1.0?topic=plsql-data-types

Conceptos Básicos de HTML

Aprende los conceptos básicos de HTML

Conceptos Básicos de CSS

Aprende los conceptos básicos de CSS

Conceptos Básicos de JavaScript

Aprende los conceptos básicos de JavaScript

Conceptos Básicos de GIT

Aprende los conceptos básicos de GIT

Conceptos Básicos de Python

Aprende los conceptos básicos de Python

Conceptos Básicos de UML

Aprende los conceptos básicos de UML

Refuerzo Academico de Herramientas de Productividad 2025