我在密码中碰到了这个奇怪的边缘案例:
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或大多数其他语言中?
答案 0 :(得分:1)
因为根据docs:
以
NULL
为输入的大多数表达式都会生成NULL
。
另外,我认为&#39; Foonull&#39;只是在Cypher查询的上下文中非常有用,但能够判断是否存在某个值,是。
您可以使用coalesce
来获得所需的行为。