如何为空字符串使用SQLAlchemy进行区分大小写的匹配?

时间:2019-05-16 15:35:59

标签: python sqlalchemy

我需要用区分大小写的数据查询数据库。

我找不到比较可为空字符串的解决方案。

func.binary

不为空->有效

db.session.query(Table).filter(Table.city == func.binary("City Name")).all()

返回所有记录,其中city = "City Name"

null->不起作用

db.session.query(Table).filter(Table.city == func.binary(None)).all()

应返回city is nullcity字段类型为database的所有记录为{NoneType} None。 并且func.binary(None)类型是{Function} binary(NULL)

我喜欢

不为空->有效

db.session.query(Table).filter(Table.city.ilike("City Name")).all()

返回所有记录,其中city = "City Name"

null->不起作用

db.session.query(Table).filter(Table.city.ilike(None)).all()

返回错误:{ArgumentError}Only '=', '!=', 'is_()', 'isnot()', 'is_distinct_from()', 'isnot_distinct_from()' operators can be used with None/True/False

0 个答案:

没有答案