我需要用区分大小写的数据查询数据库。
我找不到比较可为空字符串的解决方案。
db.session.query(Table).filter(Table.city == func.binary("City Name")).all()
返回所有记录,其中city = "City Name"
db.session.query(Table).filter(Table.city == func.binary(None)).all()
应返回city is null
但city
字段类型为database的所有记录为{NoneType} None
。
并且func.binary(None)
类型是{Function} binary(NULL)
db.session.query(Table).filter(Table.city.ilike("City Name")).all()
返回所有记录,其中city = "City Name"
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