我有以下疑问。
punch_recs = emp.punch_in_outs.where(date: Date.today-14 .. Date.today-1).where.not('status' => "Travel")
当status
列值不等于nil时,上述查询正常工作。但是当status
列值为nil时,那些记录我没有得到。什么错误的这个查询我没有得到。我的要求是,我希望获取那些记录,date
列值应该在所设定的范围内,而status
列值不应该是“旅行”。(即使没有{ {1}}我的意思是如果status
也为空,我想获取那些记录。)但是这个查询没有给那些status
的记录是nill或null。
答案 0 :(得分:2)
NULL
未知,它不等于任何东西。您需要单独处理案例:
punch_recs = emp.punch_in_outs.
where(date: Date.today-14 .. Date.today-1).
where("status != 'Travel' OR status IS NULL")