Мне нужно запросить базу данных с учетом регистра.
Я не могу найти решение для сравнения пустых строк.
func.binary
не нуль -> работает
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
тип поля базы данных - {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
РАЗРЕШЕНО :
class Table():
city =Column(String(length=50, collation="utf8mb4_bin"))