我有以下完整查询,但它什么也没返回。
@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/