首页 > 解决方案 > 当mysql查询在python中包含占位符时如何搜索军事匹配?

问题描述

查询一:

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

此查询将查找所有包含字母“e”的名称。

查询 2:

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

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

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

我试过类似的东西:

"SELECT name FROM mytable WHERE name LIKE %'%s'%" % search_name;<- 没用; "SELECT name FROM mytable WHERE name LIKE '%%s%'" % search_name;<- 也没有用;

标签: pythonreplacevariable-expansion

解决方案


使用不同的方式来格式化查询字符串中的字符串,例如

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

或 f 弦。

或者您可以添加更多 % 并用斜杠对其进行转义,以便正常将其放入字符串中。

\%%s\%

推荐阅读