我熟悉SQLAlchemy中与sql绑定的参数。但是,不仅可以绑定参数,还可以绑定SQL语句的一部分。我在说这样的事情。
我们假设查询非常简单
select *
from table
where param1 = 1
and param2 = 2
为了向查询提供参数,我只需编写
select *
from table
where param1 = :value1
and param2 = :value2
但是问题是我该如何参数化条件“和”,以便最终查询看起来像这样:
select *
from table
where param1 = :value1
:condition param2 = :value2
是否可以使用SQLAlchemy text()函数。为了使问题更加复杂,select语句不直接引用表,而是引用不返回单个值的函数。因此,实际查询应如下所示:
select *
from function(
:value_1,
:value_2,
:value_3)
where param1 = :value_4
:condition param2 = :value_5