%%%s%%
是什么意思?"%(作者("是什么意思?
cursor.execute("SELECT * FROM new WHERE author LIKE '%%%s%%' "%(author)
在SQLLIKE
模式中,%
匹配任何字符序列。所以如果你写:
WHERE author LIKE '%Jones%'
它将匹配包含CCD_ 5的CCD_
这段代码还使用Python%
运算符进行字符串格式化,这就是%(author)
的作用。此格式化运算符在以%
开头的字符串中查找格式化规范——%s
表示替换元组(author)
中相应字符串的值。
由于%
在格式字符串中具有特殊含义,因此需要将其加倍以生成一个字面%
字符。
所以,如果你这样做:
author = "Jones"
则的值
"SELECT * FROM new WHERE author LIKE '%%%s%%' "%(author)
将是:
"SELECT * FROM new WHERE author LIKE '%Jones%'"