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

Comment utiliser ilike sqlalchemy sur le champ de tableau postgresql?

Pour utiliser le champ de tableau postgresql, vous devez utiliser unnest() function.Mais vous ne pouvez pas utiliser le résultat de unnest() dans where clause.

Au lieu de cela, vous pouvez utiliser array_to_string fonction. Recherche sur la chaîne de other_names donnera le même effet

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()