%%%s%%
是什么意思?另外`%(作者)是什么意思?
cursor.execute("SELECT * FROM new WHERE author LIKE '%%%s%%' "%(author)
最佳答案
在 SQL LIKE
模式中,%
匹配任何字符序列。所以如果你写:
WHERE author LIKE '%Jones%'
它将匹配其中任意位置包含 Jones
的 author
。
此代码还使用 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/