衬衫.rb
[ id, size, color ]
作为输入,我得到值 params[:size]
,例如等于 170。shirts
表 size
列中的数据以格式存储- "160-180"
(所以它是一个字符串)
我如何执行如下查询:
Shirt.where("parse_first_number(size) > ? AND parse_second_number(size) < ?", params[:size], params[:size])
最佳答案
我强烈建议您使用两个值来改进数据库架构:min_size
和 max_size
。然后你就可以做一个更简单的查询:
Shirt.where("min_size <= ? AND max_size >= ?", params[:size], params[:size])
您提出的问题可能,但要复杂得多。
关于sql - rails : Custom function in where block,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37463297/