从参数化查询中删除引号
Remove quotes from parameterized query
我在 rails 上使用 postgresql 和 ruby,我正在尝试参数化我的查询,但是当我这样做时,它会在填充我的占位符的参数上添加引号。这是一个简单的例子:
query = <<-SQL
select * from table1 ?
SQL
当我这样执行上面的查询时:
result = Table1.find_by_sql([query, "where table1.locations IN (1,2,3)"])
它将使用条件周围的引号执行这样的查询:
select * from table1 'where table1.locations IN (1,2,3)'
但我想要:
select * from table1 where table1.locations IN (1,2,3)
您不能像那样绑定部分查询,只能绑定值。如果你想有一个动态的 where
子句,你将不得不求助于字符串连接:
result = Table1.find_by_sql([query + " where table1.locations IN (1,2,3)")
我在 rails 上使用 postgresql 和 ruby,我正在尝试参数化我的查询,但是当我这样做时,它会在填充我的占位符的参数上添加引号。这是一个简单的例子:
query = <<-SQL
select * from table1 ?
SQL
当我这样执行上面的查询时:
result = Table1.find_by_sql([query, "where table1.locations IN (1,2,3)"])
它将使用条件周围的引号执行这样的查询:
select * from table1 'where table1.locations IN (1,2,3)'
但我想要:
select * from table1 where table1.locations IN (1,2,3)
您不能像那样绑定部分查询,只能绑定值。如果你想有一个动态的 where
子句,你将不得不求助于字符串连接:
result = Table1.find_by_sql([query + " where table1.locations IN (1,2,3)")