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)。
推薦閱讀
- 云數據中心基礎
- Google Visualization API Essentials
- Game Development with Swift
- Spark大數據分析實戰
- Learning Spring Boot
- Learning JavaScriptMVC
- PySpark大數據分析與應用
- Hadoop大數據實戰權威指南(第2版)
- 深入淺出MySQL:數據庫開發、優化與管理維護(第2版)
- 大數據Hadoop 3.X分布式處理實戰
- Sybase數據庫在UNIX、Windows上的實施和管理
- WS-BPEL 2.0 Beginner's Guide
- 數亦有道:Python數據科學指南
- 深入淺出Greenplum分布式數據庫:原理、架構和代碼分析
- 高維數據分析預處理技術