在列中查找子字符串

时间:2014-08-28 23:09:01

标签: ruby-on-rails activerecord where

我有一个模型mer20,其中包含数字列表(称为前导和滞后),由|分隔。 E.g。

235833|1457541|2244166|2824350|3219744|3343546

我要做的是构建一个查询,以便我可以抓取完全匹配各个数字的记录。

我试过这个:

mer = where("leading like ? OR lagging like ?", "%#{query}%", "%#{query}%")

但它也将查询作为子字符串的对象,我不想要!

此外,我如何检查这些数字中是否有任何一个(a,b)?

最终解决方案:

mer = where("leading = ? OR lagging = ? OR leading like ? OR lagging like ? OR leading like ? OR lagging like ? OR leading like ? OR lagging like ?", query.to_i, query.to_i, "#{query}|%", "#{query}|%", "|#{query}|", "|#{query}|", "%|#{query}", "%|#{query}")

1 个答案:

答案 0 :(得分:1)

包括它必须从字符串的开头开始(即在开头没有%)或以|开头...同样它必须在结束时结束字符串(即最后没有%)或以|

结尾