Tipos de datos SQL: INTEGER, VARCHAR, DATE y más
Lección 1.4 · Tiempo de lectura: ~8 min · Tareas de práctica ↓
Los tipos de datos definen qué clase de valores puede guardar cada columna de una base de datos relacional. En esta lección conocerás los tipos de datos SQL más habituales, cuándo usar cada uno y cómo una buena elección mejora la calidad de los datos, el uso del almacenamiento y el rendimiento de las consultas.
En la lección anterior vimos las tablas, las claves, las restricciones y ACID. Ahora pasamos a una decisión práctica de diseño que tomas en cada tabla: elegir el tipo de datos adecuado para cada columna.

Antes de entrar en los subtipos, estos son los principales grupos de tipos de datos SQL:
- Tipos numéricos:
TINYINT,INT,BIGINT,DECIMAL,FLOAT - Tipos de texto:
CHAR,VARCHAR,TEXT - Tipos de fecha y hora:
DATE,TIME,DATETIME,TIMESTAMP - Tipos especializados:
BOOLEAN,BLOB,JSON
¿Qué son los tipos de datos numéricos en SQL?
Los tipos numéricos guardan números, pero no todos los números deben guardarse igual. En la práctica eliges entre:
- tipos enteros para números sin decimales,
- tipos decimales exactos para valores financieros,
- tipos de coma flotante para valores científicos aproximados.
Familia INTEGER
Los tipos enteros guardan números sin decimales.
| Tipo | Tamaño habitual | Rango aproximado con signo |
|---|---|---|
TINYINT | 1 byte | de -128 a 127 |
SMALLINT | 2 bytes | de -32.768 a 32.767 |
INTEGER / INT | 4 bytes | de -2.147.483.648 a 2.147.483.647 |
BIGINT | 8 bytes | de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 |
Los rangos exactos pueden variar ligeramente según la base de datos y el soporte de tipos con y sin signo.
DECIMAL / NUMERIC
DECIMAL guarda valores exactos con una precisión fija.
DECIMAL(p, s)significa:p= número total de dígitos,s= dígitos después del separador decimal.
- Ejemplo:
DECIMAL(10, 2)admite valores de hasta 99.999.999,99. - Es la mejor opción para precios, facturas, impuestos y cualquier valor donde la exactitud sea obligatoria.
FLOAT / REAL / DOUBLE
Los tipos de coma flotante guardan valores aproximados.
- Son adecuados para cálculos científicos y datos de telemetría.
- No son ideales para importes de dinero, porque la coma flotante binaria puede introducir pequeñas diferencias de redondeo.
DOUBLEsuele ofrecer más precisión queFLOAT.
¿Qué son los tipos de datos de texto en SQL?
Los tipos de texto se diferencian sobre todo en cómo tratan la longitud y en cómo se almacenan.
CHAR
- Texto de longitud fija.
CHAR(10)siempre reserva espacio para 10 caracteres.- Si el valor es más corto, muchas bases de datos lo rellenan con espacios.
- Útil para datos de tamaño fijo, como los códigos de país ISO.
VARCHAR
- Texto de longitud variable con un límite máximo.
VARCHAR(255)guarda hasta 255 caracteres, pero solo usa el espacio necesario.- Buena opción por defecto para nombres, correos electrónicos, títulos y etiquetas.
TEXT
- Texto largo de longitud variable.
- Útil para descripciones largas, cuerpos de artículos, comentarios o registros.
- Su comportamiento y los límites de indexación pueden variar según el sistema de base de datos.
¿Qué son los tipos de datos de fecha y hora?
Los tipos temporales deben usarse para cualquier valor que represente una fecha, una hora o la marca de tiempo de un evento.
DATE
Guarda solo año-mes-día.
TIME
Guarda solo hora-minuto-segundo.
DATETIME / TIMESTAMP
Guarda la fecha y la hora.
En algunos sistemas TIMESTAMP tiene en cuenta la zona horaria, mientras que DATETIME suele ser independiente de ella. Comprueba siempre cómo se comporta tu SGBD antes de diseñar tablas de auditoría o de eventos.
¿Qué otros tipos de datos conviene conocer?
Muchas bases de datos relacionales también admiten tipos especializados útiles:
BOOLEAN: guarda valores verdadero/falso.BLOB: guarda contenido binario, como imágenes o archivos.JSON: guarda documentos JSON semiestructurados y a menudo admite funciones e índices sobre JSON.
¿Cómo elegir el tipo de datos adecuado?
Usa esta lista de comprobación práctica:
- Elige el tipo más pequeño que cubra con seguridad los valores esperados.
- Usa
DECIMALpara el dinero; evitaFLOATpara importes financieros. - Prefiere
VARCHARaCHAR, salvo que la longitud de los datos sea realmente fija. - Guarda fechas y horas con tipos temporales, no como texto.
- Revisa el comportamiento propio de tu base de datos en valores por defecto, zonas horarias e indexación.
Elegir bien los tipos de datos al diseñar reduce las migraciones de datos futuras, los errores en la aplicación y las caídas de rendimiento.
Puntos clave de esta lección:
- Los tipos de datos definen qué valores puede guardar una columna e influyen mucho en la calidad de los datos.
- Los tipos numéricos sirven para objetivos distintos: números enteros, decimales exactos y valores aproximados de coma flotante.
CHAR,VARCHARyTEXTse eligen según la longitud esperada del texto y la forma de almacenarlo.- Los campos de fecha y hora deben usar
DATE,TIMEoTIMESTAMPen lugar de texto. - Elegir el tipo correcto desde el principio evita errores, limpiezas de datos y problemas de rendimiento más adelante.
Preguntas frecuentes
¿Qué diferencia hay entre DECIMAL y FLOAT?
DECIMAL guarda valores exactos y es la mejor opción para el dinero. FLOAT guarda valores aproximados y puede introducir diferencias de redondeo, por lo que es más adecuado para cálculos de tipo científico.
¿Debo usar CHAR o VARCHAR para nombres y correos electrónicos?
En la mayoría de los casos, usa VARCHAR, porque los nombres y los correos tienen longitud variable. CHAR es mejor para valores de longitud fija, como los códigos de país.
¿NULL es un tipo de datos?
No. NULL significa un valor ausente o desconocido. No es un tipo de datos aparte, sino un marcador especial que puede aparecer en las columnas, según sus restricciones.
Preguntas de entrevista
¿Cómo eliges entre INTEGER, BIGINT y SMALLINT?
Estima el rango de valores esperado y elige el tipo más pequeño que lo cubra con seguridad. Así ahorras espacio y evitas el desbordamiento.
¿Por qué se prefiere DECIMAL para los importes de dinero?
Porque DECIMAL guarda una precisión exacta y evita los errores de redondeo de la coma flotante, que pueden causar imprecisiones financieras.
¿Qué problemas aparecen cuando se eligen mal los tipos de datos?
Los problemas típicos son ordenaciones y filtros incorrectos, errores de conversión, espacio desperdiciado, consultas más lentas y lógica inconsistente en la aplicación.