2017-07-19 36 views
0

我想获得的所有记录在我的手机领域有“+”ActiveRecord的:匹配字段开头加号(+)

Company.where("phone LIKE ?", "+%")  // RETURNS 0 RESULTS 

出于某种原因,它的上市零次的结果开始,即使有是以'+'开头的结果

我也尝试使用\以逃避“+”的特殊含义无济于事。

虽然,如果我尝试匹配以+1开头的字符串,它将按预期工作。

Company.where("phone LIKE ?", "+1%")  // WORKS FINE 
+0

您可以发布运行'Company.where(“phone LIKE?”,“+%”)'时生成的SQL查询吗?顺便说一句你正在使用哪个数据库? – Pavan

+0

'postgres' DB。 “SELECT”companies“。* FROM”companies“WHERE(phone LIKE'+1%')'查询不起作用:'SELECT”companies“。* FROM”companies“WHERE(phone LIKE' +%')' – Rao

+1

这两个都为我工作..正则表达式'Company.where(“电话〜*?”,'\ A [+]')' –

回答

0

它的引号!

Company.where("phone LIKE ?", '+%') 

使用'单引号代替"双引号,固定查询。

+0

真的吗?它适用于单人和双人,对我来说都是。 –

相关问题