python 执行sql报错:ValueError: unsupported format character '"' (0x22) at index 151

使用sqlalchemy执行sql语句的时候老是报错:
ValueError: unsupported format character '"'
一开始还以为是sql语句中包含双引号的问题,但是改成单引号也报错,把引号内的内容替换成占位符也还是错,然后查了一下,发现是 % 捣的乱,报错报的莫名奇妙。
原因是这里使用的 % 在传给mysql中执行的时候被赋予了别的意思,因此需要转义,再加个 % 就行了。
示例如下:

修改前
sql = """
	select date_format(created_at, "%Y-%m") month, count(1)
	from table
	group by month
"""

改进后
sql = """
	select date_format(created_at, "%%Y-%%m") month, count(1) 
	from table
	group by month
"""

你可能感兴趣的:(python)