sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres SQL för att fråga arraytext[] i ett specifikt element

PostgreSQL:s stöd för arrayer är inte speciellt bra. Du kan unnest en 1-dimensionell array lätt nog, men en n-dimensionell array är helt tillplattad, snarare än bara den första dimensionen. Ändå kan du använda det här tillvägagångssättet för att hitta önskad uppsättning poster, men det är ganska fult:

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 skriva denna funktion att reducera en 2-dimensionell array till poster av 1-dimensionella arrayer och sedan kan du i princip använda alla SQL-frågor i din fråga.




  1. Infoga tidsstämpel i en databas + 7 dagar

  2. GROUP BY - gruppera inte NULL

  3. Solr och MySQL, Hur håller man ett uppdaterat index, och behövs ens en DB om det är enkelt?

  4. Hur man filtrerar datum med datetimepicker via databas