mysql - rails 3 : How to find records with field possibly equals to nil?

标签 mysql sql ruby-on-rails ruby-on-rails-3 activerecord

我想找到所有 maiden_name 等于 my_maiden_nameSongWriter 吗?

注意:my_maiden_name 可能是nil

我试过:

SongWriter.where("maiden_name = ?", my_maiden_name)

它工作正常,除了 my_maiden_name = nil 的情况。

my_maiden_name = nil时,生成的查询是:

SELECT `song_writers`.* FROM `song_writers` WHERE (maiden_name = NULL)

而不是:

SELECT `song_writers`.* FROM `song_writers` WHERE maiden_name IS NULL

我如何概括事件记录查询以包括案例 my_maiden_name = nil

最佳答案

使用哈希语法。 ActiveRecord 将为您进行转换。

SongWriter.where(:maiden_name => my_maiden_name)

my_maiden_namenil 时,它将使用 IS NULL。否则它将使用 =

关于mysql - rails 3 : How to find records with field possibly equals to nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7500311/

相关文章:

javascript - 使用 Ajax 根据另一个下拉选项填充下拉列表

sql - Oracle SQL添加多行表注释或列注释

sql - mysql 表连接选择

ruby-on-rails - 带有 proxycommand 的 Ruby net-ssh 导致卡住

php - 如何查找加拿大邮政编码范围之间的记录

MYSQL:带有 != 语句的基本 SELECT

mysql - 从多个缺少字段的表中进行 SQL 查询

mysql - 快速删除MySQL中的重复记录

ruby-on-rails - Heroku 域注册配置为在雪松堆栈上的 Bamboo

ruby-on-rails - Rails4 has_many 通过带参数