数学运算符
示例
加法运算符 (
+
)RETURN 10 + 5 AS result
结果 |
---|
|
行数:1 |
一元加法运算符 (
+
)RETURN + 5 AS result
结果 |
---|
|
行数:1 |
减法运算符 (
-
)RETURN 10 - 5 AS result
结果 |
---|
|
行数:1 |
一元减法运算符 (
-
)RETURN - 5 AS result
结果 |
---|
|
行数:1 |
乘法运算符 (
*
)RETURN 10 * 5 AS result
结果 |
---|
|
行数:1 |
除法运算符 (
/
)RETURN 10 / 5 AS result
结果 |
---|
|
行数:1 |
模除运算符 (
%
)RETURN 10 % 3 AS result
结果 |
---|
|
行数:1 |
乘方运算符 (
^
)RETURN 10 ^ 5 AS result
结果 |
---|
|
行数:1 |
使用数学运算符修改属性
CREATE (p:Product {price: 10})
SET p.discountPrice = p.price * (1 - 0.15)
RETURN p.discountPrice AS discountPrice
折扣价 |
---|
|
行数:1 |
优先级顺序
下表按升序详细说明了数学运算符的优先级顺序。请注意,优先级级别越低,操作数的绑定能力越高。另请注意,如果使用括号 ()
,则其中的任何操作都具有优先权,会覆盖默认的优先级顺序。
优先级 | 运算符 | 结合性 |
---|---|---|
1 |
一元负 ( |
从右到左 |
2 |
乘方 ( |
从右到左 |
3 |
乘法 ( |
从左到右 |
4 |
加法 ( |
从左到右 |
同一优先级组中的运算符根据结合性进行评估。
优先级顺序确保以下两个表达式返回相同的结果。
包含多个不同数学运算的表达式
RETURN -50 + 6 * 3 - 100 / 5 ^ 2 % 12 AS result1,
(((-50) + (6 * 3)) - ((100 / (5 ^ 2)) % 12)) AS result2
结果1 | 结果2 |
---|---|
|
|
行数:1 |
优先级 | 操作 | 结果 |
---|---|---|
1 |
一元负 ( |
|
2 |
乘方 ( |
|
3 |
乘法 ( |
|
3 |
除法 ( |
|
3 |
模除 ( |
|
4 |
加法 ( |
|
4 |
减法 ( |
|
只有将某些操作括在括号内才会改变优先级顺序,从而可能改变表达式的结果。
单个操作加括号
RETURN (-50 + 6) * 3 - 100 / 5 ^ 2 % 12 AS result
结果 |
---|
|
行数:1 |
优先级 | 操作 | 结果 |
---|---|---|
1 |
带括号的操作 ( |
|
2 |
乘方 ( |
|
3 |
乘法 ( |
|
3 |
除法 ( |
|
3 |
模除 ( |
|
4 |
减法 ( |
|