当 mysql 查询包含 python 中的占位符时如何搜索军事比赛?
How to search for martial matches when mysql query contains a placeholder in python?
查询 1:
"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;
<- 也没有用;
要么使用不同的方式来格式化查询字符串中的字符串,例如
SELECT name FROM mytable WHERE name LIKE '%" + search_name + "%'"
或 f-Strings。
或者您可以添加更多的 % 并用斜杠将其转义,以便它正常放入字符串中。
\%%s\%
查询 1:
"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;
<- 也没有用;
要么使用不同的方式来格式化查询字符串中的字符串,例如
SELECT name FROM mytable WHERE name LIKE '%" + search_name + "%'"
或 f-Strings。
或者您可以添加更多的 % 并用斜杠将其转义,以便它正常放入字符串中。
\%%s\%