sql - rails : Custom function in where block

标签 sql ruby-on-rails ruby where-clause

衬衫.rb

[ id, size, color ]

作为输入,我得到值 params[:size],例如等于 170。shirtssize 列中的数据以格式存储- "160-180"(所以它是一个字符串)

我如何执行如下查询:

Shirt.where("parse_first_number(size) > ? AND parse_second_number(size) < ?", params[:size], params[:size]) 

最佳答案

我强烈建议您使用两个值来改进数据库架构:min_sizemax_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/

相关文章:

sql - 根据 bool 列升序或降序

Netbeans 上的 java.sql.SQLException : Parameter index out of range (5 > number of parameters, 是 4)

ruby-on-rails - 是否应该将 Rails 迁移与 schema.rb 分开提交?

ruby-on-rails - Rails 默认错误页面在开发时不显示

与 Gosu 的 Ruby 生命游戏 - 更新操作不起作用

mysql - 带有左连接的 group_concat 太慢了

SQL:这两个表之间存在什么样的关系(1:1、1:m、m:m、...)?

javascript - 扩展 AngularJS $resource 以映射到 Rails RESTful 路由(特别是 $save 以创建和更新)

ruby-on-rails - ActiveRecord::StatementInvalid:找不到表

python - 是否有任何库允许 Python 或 Ruby 从 SVN 获取信息?