PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie verwende ich ilike sqlalchemy auf einem Postgresql-Array-Feld?

Um das Postgresql-Array-Feld zu verwenden, müssen Sie unnest() verwenden function.Aber Sie können das Ergebnis von unnest() nicht verwenden in where Klausel.

Stattdessen können Sie array_to_string verwenden Funktion. Suche nach einer Zeichenfolge von other_names ergibt den gleichen 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()