包含SQL查询的字符串中的变量 - Python

时间:2018-04-25 12:37:20

标签: python sql

我有一个字符串设置方式如下:

sql_string = ( """ select * from schema.table where column1 like '%object%' and column2 = '%s' """)%(x)

不幸的是,当我运行脚本时,出现以下错误:

TypeError: not enough arguments for format string

我的查询字符串中有变量吗?我怀疑查询的column1部分中的百分号是导致问题的原因。

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用其他%:

来转义%
sql_string = ( """ select * from schema.table where column1 like '%%object%%' and column2 = '%s' """)%(x)

答案 1 :(得分:1)

使用格式化功能:

sql_string = ( """ select * from schema.table where column1 like '%object%' and column2 = '{}' """).format(x)