我有一个形状图层,其形状属性包含NULL
值,我想对其应用与值不同的过滤器NULL
。
使用可用的gui进行这种查询构造,人们会直观地尝试
"obj_art" != NULL
这意味着“给我所有带属性的功能从‘obj_art’不同NULL
”(这些数量绝对比0)。从我的角度来看,测试此查询会得出奇怪的结果:
所以到目前为止我学到的是我可以通过使用
"obj_art" IS NOT NULL
问题是,!= NULL
和之间有什么区别IS NOT NULL
?
据我所知,这只是语法。当为null时,使用is或not。其他使用=或!=
—
nielsgerrits '16
“一个人会直观地尝试”真的吗?为什么?NULL不是值。从字面上看,这是一个价值的缺失。您不能“等于” NULL!运算符
—
Lightness与Monica赛跑
!=
不表示“不是”;它的意思是“不等于”。IS NOT
意思是“不是”,所以我认为这是非常直观的:)
@LightnessRacesinOrbit如果没有理解这
—
Midavalo
NULL
不是一个值,我会说尝试使用很直观,=
或者!=
因为这就是您评估任何其他值的方式。直到您知道这NULL
不是真正意义上的使用价值,IS NOT
而不是!=
。许多人不知道什么是NULL
真正的。
而且,在GUI
—
Jochen Schwarze
NULL
中,在值列表中(参见上文),因此被视为“正常”值。而且没有按钮IS NULL
,还是我错过了?因此,当仅键入此类查询且具有知识时,NULL
必须以特殊的方式处理该问题,我们才能讨论有关直觉的问题,但切勿在THIS GUI的上下文中进行讨论。
@Midavalo:的确如此,我会谦虚地建议不要在不查询语言功能的情况下使用语言功能:)通过猜测进行编程是行不通的。
—
与莫妮卡(Monica)进行的轻度比赛