我试图通过like运算符匹配字符串中带有“%”的字符串,但这给了我一个python TypeError
因为格式弄乱了。
例子:
SELECT *
FROM table
WHERE name LIKE "%exam\%ple%"
在python中,由于转义了类似通配符的
match = "%%exam\\%ple%%"
query = """
SELECT *
FROM table
WHERE name LIKE "%s"
""" % (match)
但这仍然让我犯同样的错误。
如何用python编写查询来进行搜索 table
哪里 name
匹配的所有示例 "exam%ple"
?
1条答案
按热度按时间aor9mmx11#
在生成查询时,不需要对%右边字符串中的%示例进行转义,因此:
结果:
另外请注意,您可以有效地转义,即通过将字符加倍来生成文字%字符,即%d=插入数字,但%%d=插入“%d”,但是您需要为正在执行的每个%操作加倍。
更好的选择是使用字符串
format
命令,该命令在Python3.4和任何Python2.7中都可用。它使用{}作为插入点的标记(它被归类为迷你语言),并且不会触及您的%符号。