Neo4j笔记(二)Cypher(3)NULL

Cypher中的NULL和SQL中的NULL有一些不同,SQL中的NULL表示这个字段没有值,在建表的时候可以添加非控约束,而Cypher中的null表示某个节点没有这个这段属性。一个表示这个字段没有值,一个表示没有这个字段。Cypher中可以使用 is null 判断某个节点是否有某个字段属性。

null不同于其他类型值,不能直接使用 = 判断某个字段是否为null,同时 null = null 也是没有意义的,结果还是null。null is null返回true。需要注意的是并不是null参与的运算都为null,尤其是逻辑运算。

1、逻辑运算

x y x AND y x OR y x XOR y
false null false null null
true null null true null
null null null null null

2、in运算

return 3 in []                   //返回false,并不是null
return 3 in [1,2,null]       //返回null,并不是false
return null in [1,2,3]       //返回null,并不是false
return null in [1,2,null]   //返回null,并不是true

3、is运算

判断为null:x is null
判断非null:x is not null      //注意不是 not is

猜你喜欢

转载自blog.csdn.net/haveanybody/article/details/88886050