Peewee中的字符串匹配(SQL)

前端之家收集整理的这篇文章主要介绍了Peewee中的字符串匹配(SQL)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在Peewee中查询应该具有特定子字符串的结果.

例如,如果我只想在名称中使用“Physics”的活动:

schedule = Session.select().join(Activity).where(Activity.name % "%Physics%").join(Course).join(StuCouRel).join(Student).where(Student.id == current_user.id)

上面的示例没有给出任何错误,但无法正常工作.

在python中,我只想在Activity.name中使用“Physics”,所以我正在寻找一个可以在查询中使用的等价物.

解决方法

快速回答:

只需使用Activity.name.contains(‘Physics’)

根据您使用的数据库后端,您需要选择正确的“通配符”. PostgresqlMysqL使用“%”,但对于sqlite,如果你正在执行LIKE查询,你实际上想要使用“*”(虽然对于ILIKE它是“%”,令人困惑).

我猜你正在使用sqlite,因为上面的查询失败了,所以回顾一下,如果你想要区分大小写的匹配,请使用sqlite:Activity.name%“* Physics *”,以及不区分大小写:Activity.name **“%Physics%”.

http://www.sqlite.org/lang_expr.html#like

猜你在找的MsSQL相关文章