Ruby on rails Rails 3正则表达式。喜欢查询
我想查询年龄字段值为24或26的数据库表。 我尝试在查询中使用“like”Ruby on rails Rails 3正则表达式。喜欢查询,ruby-on-rails,regex,sql-like,Ruby On Rails,Regex,Sql Like,我想查询年龄字段值为24或26的数据库表。 我尝试在查询中使用“like” User.where('age like ? or age like ?',"%24%","%26%") 我做错什么了吗?试试这个 User.where("age in ?",["24","26"]) 使用逗号分隔符在字符串中输入您的年龄 ages = "24,26,28,17,18" age_array = ages.split(",") User.where("age in ?",age_array) 你也可以
User.where('age like ? or age like ?',"%24%","%26%")
我做错什么了吗?试试这个
User.where("age in ?",["24","26"])
使用逗号分隔符在字符串中输入您的年龄
ages = "24,26,28,17,18"
age_array = ages.split(",")
User.where("age in ?",age_array)
你也可以试试这个
User.where(:age => age_array)
将此模式用于多个搜索属性:
ages = ["24", "26"]
query = ages.map { |age| "age like '%#{age}%'" }.join(" OR ")
User.where(query)
它将自动生成如下查询:
SELECT 'users.*' FROM 'users' WHERE (age like '%24%' OR age like '%26%')
希望这个解决方案能对您有所帮助 当您可以直接检查是否相等时,为什么要使用like?User.where=?或者年龄=?,24,26你的查询应该是有效的,你得到了什么错误?!用户如何。按年龄[24,26]查找?我相信@polurupraveen正在寻找一个LIKE@sameera207但当他只检查准确的数字时,他不必这样做,对吗?这将与字段值完全匹配。我想使用正则表达式进行查询,因为我的用户年龄是一个带逗号的字符串delimiter@polurupraveen然后,您可以尝试将字符串转换为intUser.whitege in?,[24,26]将给出语法错误,您必须使用[24,26]注释中的User.whitege来包围?