python - 当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;
<- 也没有用;
解决方案
使用不同的方式来格式化查询字符串中的字符串,例如
SELECT name FROM mytable WHERE name LIKE '%" + search_name + "%'"
或 f 弦。
或者您可以添加更多 % 并用斜杠对其进行转义,以便正常将其放入字符串中。
\%%s\%
推荐阅读
- java - 如果没有消息出现,Vertx如何使消费者超时
- c++ - 有没有办法强制 LookupAccountSid 始终返回美国语言环境中的名称?
- google-cloud-platform - 设置 Google Storage 缓存控制元数据以允许转换
- c# - 3 个条件的三元运算符
- javascript - 如何在玩笑测试时模拟父组件状态
- ios - 如何动态更新视图控制器
- android - 如何将 setColorFilter() 与动画一起应用?
- javascript - 检测关闭所有选项卡/关闭导航器上的当前选项卡
- vba - WIndows/VBA:不再识别特殊字符
- c++ - 为什么流写入文件,文件大小每次增加4k?