Curso de Fundamentos de Bases de Datos

Tipos de datos en PostgreSQL que necesitas

Curso de Fundamentos de Bases de Datos

Contenido del curso

Grabación

PlatziLearn

0:0016:46

Recursos

Resumen

Elegir el tipo de dato correcto en PostgreSQL parece un detalle menor, pero una mala decisión puede provocar errores de cálculo silenciosos, duplicar el espacio en disco o hacer que una comparación falle sin advertencia alguna. Corregir esto en producción lleva horas; elegir bien toma segundos. A continuación se explican los seis tipos de datos que cubren el 90 % de los escenarios reales.

¿Cuáles son los tipos de datos numéricos en SQL?

El tipo integer representa cantidades enteras, sin decimales [0:42]. Se utiliza para identificadores, cantidades vendidas o cualquier valor que no necesite fraccionarse. En el compilador en línea 1Compiler basta con escribir SELECT 1500 AS numero_entero para obtener una fila con ese valor.

Cuando se necesitan decimales entra en juego numeric [1:01]. Este tipo de dato acepta una definición de precisión entre paréntesis con dos parámetros: el total de dígitos permitidos y la cantidad de decimales. Por ejemplo, NUMERIC(10,2) admite hasta diez dígitos en total y siempre conserva dos decimales. Si el valor original tiene más decimales, PostgreSQL aproxima automáticamente al límite definido [4:18].

  • NUMERIC(10,2) convierte 1500.6789 en 1500.68.
  • Si se excede la precisión total, la consulta falla.
  • Es el tipo ideal para registrar divisas como dólares o pesos.

Para transformar un entero en numérico se emplea el comando CAST [2:38], que cambia el tipo de dato dentro de la consulta: CAST(1500 AS NUMERIC(10,2)).

¿Cómo funcionan text, varchar y boolean?

El tipo text almacena cadenas de caracteres sin límite de longitud [1:14]. Para usarlo basta con encerrar el contenido entre comillas simples: SELECT 'tipo de dato texto' AS tipo_dato [5:38]. No requiere definir extensión y es el tipo idiomático para descripciones o campos abiertos.

VARCHAR(n) funciona de manera diferente: recorta el contenido al número de caracteres indicado entre paréntesis [6:20]. Si se define VARCHAR(10), cualquier texto que supere los diez caracteres será truncado. Resulta útil cuando los datos provienen de formularios o sistemas externos con restricciones de captura.

¿Para qué sirve el tipo boolean?

El tipo boolean registra únicamente dos estados: TRUE o FALSE [7:00]. PostgreSQL devuelve una T cuando el valor es verdadero y una F cuando es falso. Un caso típico es la lista de asistencia: si el alumno asistió a clase se marca como TRUE; si no asistió, como FALSE. Las casillas de verificación en formularios se almacenan exactamente con este tipo de dato [7:50].

sql SELECT TRUE AS boolean_verdadero, FALSE AS boolean_falso;

¿Qué diferencia hay entre date y timestamp?

El tipo date guarda únicamente la fecha, sin hora [1:26]. PostgreSQL ofrece la función CURRENT_DATE para obtener la fecha del sistema [8:38]. Cuando se necesita una fecha específica, se escribe entre comillas simples y se indica el tipo con doble dos puntos: '2024-07-31'::DATE [9:16].

¿Cuándo usar timestamp en lugar de date?

Si además de la fecha se requiere la hora exacta, se utiliza timestamp [1:33]. La función NOW() devuelve el instante preciso del servidor, incluyendo fecha, hora, minuto, segundo y fracciones decimales [10:18]. También se puede definir manualmente:

sql SELECT '2024-03-15 10:30:25'::TIMESTAMP AS timestamp_ejemplo;

Este tipo de dato es fundamental para registrar eventos instantáneos: el momento en que se creó un pedido, se procesó un pago o se grabó un registro [10:05].

  • CURRENT_DATE → fecha del sistema sin hora.
  • NOW() → fecha y hora exacta del servidor.
  • ::DATE y ::TIMESTAMP → notación de doble dos puntos para forzar el tipo de dato.

Otro elemento importante que aparece desde la primera línea de código es la palabra clave SELECT, indispensable cada vez que se desea consultar o mostrar información [2:05]. Acompañarla con AS permite asignar un alias descriptivo a cada columna del resultado, lo que mejora la legibilidad de las consultas [2:15].

Con estos seis tipos de datos —integer, numeric, text, varchar, boolean, date y timestamp— ya cuentas con la base para crear tablas, insertar registros y operar con SQL de forma confiable. ¿Conoces algún otro tipo de dato que uses con frecuencia? Compártelo en los comentarios para discutirlo entre todos.

Tipos de datos en PostgreSQL que necesitas