在cypher中连接空值

时间:2014-09-29 19:46:28

标签: neo4j cypher

我在密码中碰到了这个奇怪的边缘案例:

neo4j-sh (?)$ return "Foo" + "bar";
+---------------+
| "Foo" + "bar" |
+---------------+
| "Foobar"      |
+---------------+
1 row
8 ms

正常,预期。现在尝试与null连接:

neo4j-sh (?)$ return "Foo" + null;
+--------------+
| "Foo" + null |
+--------------+
| <null>       |
+--------------+
1 row
0 ms

这是正确的行为吗?为什么密码不会返回&#34; Foonull&#34;正如人们所期望的那样,例如在java或大多数其他语言中?

1 个答案:

答案 0 :(得分:1)

因为根据docs

  

NULL为输入的大多数表达式都会生成NULL

另外,我认为&#39; Foonull&#39;只是在Cypher查询的上下文中非常有用,但能够判断是否存在某个值,是。

您可以使用coalesce来获得所需的行为。