name <> myname
我觉得这个问题有点愚蠢,但我在子查询中使用上面的谓词。我希望看到名字不等于我名字的所有行。但是,不会返回名称为NULL值的行。这是正确的行为吗?
答案 0 :(得分:4)
是的,这是可以预料的。请参阅&#34;谓词编程指南&#34;中的Null Values:
比较谓词与null匹配的任何值都不匹配 (
nil
)或NSNull
空值(即($value == nil
)返回YES
如果$value
是nil
) ...
如果要匹配空值,除了其他比较之外,还必须包含特定的测试,...
这意味着,如果"name = myname"
, "name <> myname"
和name
的评估为“否”
是NULL。
您可以将谓词更改为
name <> myname OR name = NULL
涵盖两种情况。