sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo usar ilike sqlalchemy en el campo de matriz postgresql?

Para usar el campo de matriz postgresql, debe usar unnest() función. Pero no puede usar el resultado de unnest() en where cláusula.

En su lugar, puede usar array_to_string función. Buscando en la cadena de other_names dará el mismo efecto

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