运算符优先级¶
nGQL 运算符的优先级从高到低排列如下(同一行的运算符优先级相同):
-(负数)!、NOT*、/、%-、+==、>=、>、<=、<、<>、!=ANDOR、XOR=(赋值)
如果表达式中有相同优先级的运算符,运算是从左到右进行,只有赋值操作是例外(从右到左运算)。
运算符的优先级决定运算的顺序,要显式修改运算顺序,可以使用圆括号。
示例¶
nebula> RETURN 2+3*5;
+-----------+
| (2+(3*5)) |
+-----------+
| 17 |
+-----------+
nebula> RETURN (2+3)*5;
+-----------+
| ((2+3)*5) |
+-----------+
| 25 |
+-----------+
openCypher 兼容性¶
在 openCypher 中,比较操作可以任意连接,例如x < y <= z等价于x < y AND y <= z。
在 nGQL 中,x < y <= z等价于(x < y) <= z,(x < y)的结果是一个布尔值,再将布尔值和z比较,最终结果是NULL。
最后更新:
February 3, 2023