代码之家  ›  专栏  ›  技术社区  ›  Evan

当mysql查询包含python中的占位符时,如何搜索军事匹配?

  •  1
  • Evan  · 技术社区  · 6 年前

    查询1:

    "SELECT name FROM mytable WHERE name LIKE '%e%'";

    此查询将查找包含字母__e_的所有名称。

    查询2:

    "SELECT name FROM mytable WHERE name LIKE '%s'" % search_name;

    此查询将查找完全包含匹配搜索名称的所有名称。

    我想知道的是,在查询2中使用占位符时,是否可以像查询1一样查询部分匹配?

    我试过类似的方法:

    "SELECT name FROM mytable WHERE name LIKE %'%s'%" % search_name; <-不工作; "SELECT name FROM mytable WHERE name LIKE '%%s%'" % search_name; <—也没用;

    1 回复  |  直到 6 年前
        1
  •  1
  •   Bernhard    6 年前

    或者使用不同的方式格式化查询字符串中的字符串,比如

    SELECT name FROM mytable WHERE name LIKE '%" + search_name + "%'"
    

    或F弦。

    或者您可以添加更多的%并用斜线转义它,这样它就可以正常地放入字符串中。

    \%%s\%