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



%%%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%'"

最新更新