我相信在我的sql查询中使用%
会导致Python语言出现问题,因为%s
用于变量。我试着摆脱角色,但到目前为止还没有成功。
import pyodbc
import pandas as pd
conn = pyodbc.connect('...')
cursor = conn.cursor()
sql_statement = """
select ABS(CHECKSUM(NEWID()) % 2), %s
"""
s = sql_statement % (5)
df = pd.read_sql_query(s, conn)
ValueError: unsupported format character ')' (0x29) at index 33
ABS(CHECKSUM(NEWID()) % 2)
应该只是一种为每一行返回随机值的方法
这只是一个简单的例子。每当我尝试使用var like '%abc%
时,我都会遇到与上面一样的问题,我认为%字符导致了python库中的问题。
有没有办法对这些字符进行转义或避免这个问题?
发布于 2019-07-17 19:38:48
通常,仅添加另一个'%‘表示您将'%’用作字符串,而不是模数。例如:
print('5%%')
结果为打印'5%‘。
https://stackoverflow.com/questions/57082909
复制