在SQLAlchemy中,session.execute()函数会将参数作为字符串传递给SQL查询语句。当参数是字符串类型时,会默认在参数值的两侧添加单引号,以确保查询的准确性和安全性。如果不希望在参数字符串中添加单引号,可以通过以下两种方式解决:
bindparams
方法来将参数与查询语句绑定,而不是直接传递参数字符串。这样可以确保参数在SQL语句中被替换,而不会添加单引号。示例代码:
from sqlalchemy import text
query = text("SELECT * FROM my_table WHERE column = :value")
params = {'value': 'example'}
result = session.execute(query, params)
literal_column
函数创建一个字面量表达式,将参数作为字面量传递给SQL查询语句,从而避免添加单引号。示例代码:
from sqlalchemy import literal_column
query = "SELECT * FROM my_table WHERE column = {}".format(literal_column(':value'))
params = {'value': 'example'}
result = session.execute(query, params)
这两种方法都可以确保在使用session.execute()函数执行SQL查询时,参数不会被添加单引号。根据具体情况选择合适的方式使用即可。
关于SQLAlchemy的详细信息、用法和示例,您可以访问腾讯云SQLServer的官方文档页面:SQLAlchemy 文档。
领取专属 10元无门槛券
手把手带您无忧上云