使用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
"""