PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Postgres SQL para consultar o texto da matriz [] no elemento específico


O suporte do PostgreSQL para arrays não é particularmente bom. Você pode unnest uma matriz unidimensional é bastante fácil, mas uma matriz n-dimensional é completamente achatada, em vez de apenas a primeira dimensão. Ainda assim, você pode usar essa abordagem para encontrar o conjunto de registros desejado, mas é bastante feio:
SELECT test.*, pg_column_size(test.data) AS column_size
FROM test
JOIN (SELECT id, unnest(data) AS strings FROM test) AS id_strings USING (id)
WHERE id_strings.strings = 'Wazaa';

Como alternativa, escreva esta função para reduzir uma matriz bidimensional em registros de matrizes unidimensionais e, em seguida, você pode usar basicamente todas as consultas SQL em sua pergunta.