%%%s%%
是什么意思?还有%(author)是什么意思?
cursor.execute("SELECT * FROM new WHERE author LIKE '%%%s%%' "%(author)
答案 0 :(得分:2)
在SQL LIKE
模式中,%
匹配任何字符序列。因此,如果您写:
WHERE author LIKE '%Jones%'
它将与其中包含author
的{{1}}匹配。
此代码还使用Python Jones
运算符进行字符串格式化,这就是%
的作用。该格式运算符在以%(author)
开头的字符串中寻找格式规范,%
表示替换元组%s
中相应字符串的值。
并且由于(author)
在格式字符串中具有特殊含义,因此您需要将其加倍以产生文字%
字符。
因此,如果您这样做:
%
然后
的值author = "Jones"
将是:
"SELECT * FROM new WHERE author LIKE '%%%s%%' "%(author)