sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur använder man ilike sqlalchemy på postgresql array field?

För att använda postgresql-arrayfältet måste du använda unnest() funktion. Men du kan inte använda resultatet av unnest() i where klausul.

Istället kan du använda array_to_string fungera. Söker på en sträng med other_names ger samma effekt

from sqlalchemy import func as F
last_like = "%qq%"
matches = session.query(MyTable).filter(or_(
    MyTable.name.ilike(last_like),
    F.array_to_string(MyTable.other_names, ',').ilike(last_like),
)).all()



  1. SÄTTA NAMN utf8 i MySQL?

  2. currval har ännu inte definierats denna session, hur får man flersessionssekvenser?

  3. Tillåt användare att bara komma åt vissa tabeller i min innehållsleverantör

  4. Användardefinierade variabler i PostgreSQL