【发布时间】:2021-11-16 19:36:08
【问题描述】:
我有一个查询,我需要添加几个条件作为OR 子句,因为我想使用LIKE,所以我不能使用IN。
那么如何从一个数组中添加多个OR?
SQL 应该如下所示:
SELECT * FROM TABLE where a like '%a%' OR a LIKE '%b%' OR a LIKE '%c%' ...
其中 'a'、'b'、'c' 来自数组。
dataset
.where(column:, Sequel.like(:column, '%#{myarray.first}%'))
myarray.drop(1).each do |v|
dataset.or(Sequel.like(:column, '%#{v}%'))
end
dataset.limit(100)
【问题讨论】:
-
SQL.like来自哪里,它是如何实现的?这不是标准的 Rails 方法。 -
我更新了问题。这是“续集”而不是“SQL”。复制和粘贴错误。
标签: sql ruby-on-rails ruby sequel