在Rails中有方法item.property.blank?对于属性为“0”或零或空白的情况属实。
如何进行SQL查询以检查值是否为空?
我现在有:
Item.where("name = 'Testname' AND property <> '1'")
显示了name ='Testname'和property ='0'的所有项目,但没有显示property = nil(未定义)的项目。
我的sql查询应该如何等同于
Item.where("name = 'Testname' AND property IS BLANK")
以便搜索结果中包含property ='0'和property = nil的所有项目?
答案 0 :(得分:2)
Item.where("property IN ('0','') OR property IS NULL")
或更确切地说......
Item.where("name = 'Testname' AND (property IN ('0','') OR property IS NULL)")
答案 1 :(得分:0)
无需使用SQL字符串,您可以执行以下操作:
Item.where(name: 'Testname', property: [nil, '0', ''])
它将产生SQL查询
SELECT `items`.* FROM `items`
WHERE `items`.`name` = 'Testname'
AND (`items`.`property` IN ('0', '') OR `items`.`property` IS NULL)