答案 0 :(得分:118)
答案 1 :(得分:6)
添加上述答案,无论谁寻找解决方案,您也可以尝试匹配'运营商代替'喜欢'。不想有偏见但在Postgresql中它对我来说非常有用。
Note.query.filter(Note.message.match("%somestr%")).all()
它继承了数据库函数,例如 CONTAINS 和 MATCH 。但是,它在SQLite中不可用。
有关详细信息,请转到Common Filter Operators
答案 2 :(得分:5)
试试这段代码
output = dbsession.query(<model_class>).filter(<model_calss>.email.ilike('%' + < email > + '%'))
答案 3 :(得分:1)
如果您想要不区分大小写的 like 子句实现:
session.query(TableName).filter(TableName.colName.ilike(f'%{search_text}%')).all()
答案 4 :(得分:0)
尽管案例匹配,但使用PostgreSQL Cannot call ReactDOM.render with document.getElementById(...) bound to container because null [1] is incompatible with
Element [2].
(see accepted answer above)不适用于我,但是ilike
(案例 i nsensisitive like < / strong>)。
答案 5 :(得分:0)
如果使用本机sql,则可以引用我的代码,否则请忽略我的答案。
SELECT * FROM table WHERE tags LIKE "%banana%";
from sqlalchemy import text
bar_tags = "banana"
# '%' attention to spaces
query_sql = """SELECT * FROM table WHERE tags LIKE '%' :bar_tags '%'"""
# db is sqlalchemy session object
tags_res_list = db.execute(text(query_sql), {"bar_tags": bar_tags}).fetchall()