sqlalchemy を使用してデータベースからデータをクエリしたいのですが、コードは以下のとおりです。
session.query(Person).filter(Person.name.like("%tom%")).all()
ただし、これは大文字と小文字が区別されます。つまり、like のパラメーターは「tom」と一致するだけで、「TOM」は含まれません。大文字と小文字を区別せずにクエリを処理するには?
sqlalchemy を使用してデータベースからデータをクエリしたいのですが、コードは以下のとおりです。
session.query(Person).filter(Person.name.like("%tom%")).all()
ただし、これは大文字と小文字が区別されます。つまり、like のパラメーターは「tom」と一致するだけで、「TOM」は含まれません。大文字と小文字を区別せずにクエリを処理するには?
sqlalchemy の組み込みの ilikeを使用できます。
例えば
select([sometable]).where(sometable.c.column.ilike("%foobar%"))
ILIKE は準標準であり、MySQL と PostgresQL でサポートされています。