sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgres SQL til at forespørge array-tekst[] i specifikt element

PostgreSQL's understøttelse af arrays er ikke særlig god. Du kan unnest et 1-dimensionelt array nemt nok, men et n-dimensionelt array er fuldstændig fladt, snarere end kun den første dimension. Du kan stadig bruge denne tilgang til at finde det ønskede sæt af poster, men det er ret grimt:

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

Alternativt kan du skrive denne funktion at reducere et 2-dimensionelt array til registreringer af 1-dimensionelle arrays, og så kan du stort set bruge alle SQL-forespørgslerne i dit spørgsmål.




  1. Hvordan kan jeg ændre databasekodning for en PostgreSQL-database ved hjælp af sql eller phpPgAdmin?

  2. Udfør flere sql-sletteforespørgsler i mysql til php

  3. MySql-doktrin:find ud af, om den givne variabel er IN array-egenskab

  4. JDBC kan ikke oprette forbindelse til mysql-database på openshift