PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgres SQL pour interroger le texte du tableau [] dans un élément spécifique

La prise en charge des tableaux par PostgreSQL n'est pas particulièrement bonne. Vous pouvez unnest un tableau à une dimension assez facile, mais un tableau à n dimensions est complètement aplati, plutôt que seulement la première dimension. Néanmoins, vous pouvez utiliser cette approche pour trouver l'ensemble d'enregistrements souhaité, mais c'est plutôt moche :

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';

Sinon, écrivez cette fonction pour réduire un tableau à 2 dimensions en enregistrements de tableaux à 1 dimension, puis vous pouvez utiliser toutes les requêtes SQL de votre question.