Saltar al contenido principal
PostgreSQL
20 min de lectura

Arrays

Trabaja con arreglos en PostgreSQL

PostgreSQL permite almacenar arrays de cualquier tipo de dato.

Declarar arrays

sql
1CREATE TABLE articulos (2    id SERIAL PRIMARY KEY,3    nombre TEXT,4    etiquetas TEXT[],5    calificaciones INT[]6);

Insertar arrays

sql
1INSERT INTO articulos (nombre, etiquetas, calificaciones) VALUES2('PostgreSQL Guide', ARRAY['sql', 'postgresql', 'database'], ARRAY[5, 4, 5]);

Acceder a elementos

sql
1-- Primer elemento (índice 1)2SELECT etiquetas[1] FROM articulos;3 4-- Rango5SELECT etiquetas[1:2] FROM articulos;6 7-- Longitud del array8SELECT array_length(etiquetas, 1) FROM articulos;

Operaciones con arrays

sql
1-- ¿Contiene elemento?2SELECT * FROM articulos WHERE 'sql' = ANY(etiquetas);3 4-- Todos los elementos5SELECT * FROM articulos WHERE etiquetas @> ARRAY['sql', 'database'];6 7-- Agregar elemento8UPDATE articulos 9SET etiquetas = array_append(etiquetas, 'tutorial')10WHERE id = 1;11 12-- Unir arrays13SELECT array_cat(ARRAY[1,2], ARRAY[3,4]);

Sintaxis

Sintaxis
sql
1columna TIPO_DATO[]

Ejemplos

Array de etiquetas

Buscar artículos por etiqueta

Ejemplo
sql
1SELECT nombre, etiquetas2FROM articulos3WHERE 'postgresql' = ANY(etiquetas)4ORDER BY nombre;

Resultado:

| nombre           | etiquetas                         |
|------------------|-----------------------------------|
| PostgreSQL Guide | {sql,postgresql,database}         |
| Advanced SQL     | {sql,postgresql,avanzado}         |