mysql - 为什么这个 Rails SQL 查询不起作用 : companies. status = 'active' AND (companies.status_override = '' OR Companies.status_override = NULL)

标签 mysql sql ruby-on-rails-3

我有以下完整查询,但它什么也没返回。

@companies.where("(companies.status = 'active' AND (companies.status_override = '' OR companies.status_override = NULL)) OR companies.status_override = 'active'")

我希望第一部分 (companies.status = 'active' AND (companies.status_override = '' OR Companies.status_override = NULL)) 将返回所有具有 status 的项目 设置为“active”,status_override 设置为空。

最佳答案

在不知道数据库结构的情况下,= NULL 是可疑的。尝试使用 IS NULL 来代替。

与 NULL 的算术比较的行为并不符合您的预期;更多详情可参见Mysql Reference

关于mysql - 为什么这个 Rails SQL 查询不起作用 : companies. status = 'active' AND (companies.status_override = '' OR Companies.status_override = NULL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11544595/

相关文章:

mysql - mysql中的左连接查询

sql - 根据时间值折叠多行

ruby-on-rails - 如何为初始化变量创建验证?

ruby-on-rails - 友好 ID 4 使用作用域模块

sql - 在 SQLite 中声明变量并使用它

ruby-on-rails - 需要一个用于 rails 的 HTTP gem

Php表单(使用PDO)插入其他表(外键)

mysql - 如何从 MSSQL 中的行中没有特定值的表中选择数据

php - Laravel 5.2 Model.php 关系方法异常

c# - 使用 dropdownlist 将新数据添加到多个表