2013-10-31 27 views
0

我有以下查询像搜索没有返回记录时,在其中方法确实

Suburb.where("name ILIKE ?", '%#{"Camp Hill"}%').to_a 

它返回一个空数组。但是,如果我运行

Suburb.where(name: "Camp Hill").to_a 

我返回了一条记录。我不知道为什么这不起作用。我缺少ILIKE的PostgreSQL中细微的特征?

回答

2

尝试以下操作:

Suburb.where("name ILIKE ?", '%Camp Hill%') 

如果你想用一个变量代替Camp Hill,那么你需要确保你换用双引号括起来,以获得插值的工作,而不是单引号,像如下(请注意,你已经使用单引号包围双引号):

Suburb.where("name ILIKE ?", "%#{my_var}%")