mysql - 我的问题是关于 mysql 中 Like 命令中的多个 % 运算符

标签 mysql python-3.x

%%%s%% 是什么意思?另外`%(作者)是什么意思?

cursor.execute("SELECT * FROM new WHERE author LIKE '%%%s%%' "%(author)

最佳答案

在 SQL LIKE 模式中,% 匹配任何字符序列。所以如果你写:

WHERE author LIKE '%Jones%'

它将匹配其中任意位置包含 Jonesauthor

此代码还使用 Python % 运算符进行字符串格式化,这就是 %(author) 的用途。此格式化运算符在以 % 开头的字符串中查找格式规范 - %s 表示替换元组中相应字符串的值 (author) .

由于 % 在格式字符串中具有特殊含义,因此您需要将其加倍以生成文字 % 字符。

所以如果你这样做:

author = "Jones"

然后是

的值
"SELECT * FROM new WHERE author LIKE '%%%s%%' "%(author)

将是:

"SELECT * FROM new WHERE author LIKE '%Jones%'"

关于mysql - 我的问题是关于 mysql 中 Like 命令中的多个 % 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53424857/

相关文章:

mysql - 在 MySQL 中查找 SUM 的最大值

php - 有没有更快的方法使用 php 将数据从文件导入 MySQL?

python-3.x - 带有 Python 的 Selenium webdriver - driver.title 无法获得标题

python - Tornado :将更多参数传递给响应回调

python - 为什么 PyMongo 脚本至少需要 500 毫秒才能执行?

即使失败,Python Unittest Discover也返回退出代码0

mysql - SQL:能否选择一列中的内容作为新表中的新列?

php - print_r - 将结果限制为 10?

mysql - 空间/全文/哈希索引和显式索引顺序 EF 的使用不正确

python - key 错误 : 'TCL_Library' when I use cx_Freeze