官术网_书友最值得收藏!

3.2.9 空值

3.2.9.1 空值介紹

空值null在Cypher中表示未找到或者未定義。對待null會與其他值有些不同,例如從節點中獲取一個并不存在的屬性將返回null。大多數以null作為輸入的表達式將返回null。這包括WHERE語句中用于斷言的布爾表達式。

null不等于null,兩個未知的值并不意味著它們是同一個值。因此,null = null返回null,而不是true。

3.2.9.2 空值的邏輯運算

邏輯運算符包括AND、OR、XOR、IN、NOT,把null當作未知的三值邏輯值,AND、OR和XOR的邏輯值表如表3-2所示。

表3-2 空值與AND、OR和XOR的邏輯值表

3.2.9.3 空值與IN

IN運算符遵循類似的邏輯。如果列表中存在某個值,則結果返回true;如果列表中包含null值并且沒有匹配到值,則結果返回null;否則結果為false。表3-3給出了空值與IN運算符一些例子。

表3-3 空值與IN運算符的例子

(續表)

All、any、none和single與IN類似,如果可以確切地計算結果,將返回true或者false,否則返回null。

3.2.9.4 返回空值的表達式

返回空值的表達式如下:

● 從列表中獲取不存在的元素:[][0]、head([])。

● 試圖訪問節點或者關系的不存在的屬性:n.missingProperty。

● 與null做比較:1 < null。

● 包含null的算術運算:1 + null。

● 包含任何null參數的函數調用:sin(null)。

主站蜘蛛池模板: 视频| 沾化县| 江源县| 莱芜市| 布拖县| 馆陶县| 页游| 永顺县| 米泉市| 出国| 东乌| 县级市| 社会| 长垣县| 牡丹江市| 张家界市| 凤山县| 崇义县| 凭祥市| 汪清县| 余干县| 黄陵县| 开原市| 丰镇市| 平湖市| 壤塘县| 临江市| 镇雄县| 贵德县| 同心县| 万州区| 会昌县| 广丰县| 泾阳县| 乐业县| 永嘉县| 任丘市| 邹平县| 克山县| 陆丰市| 航空|