数学运算符

Cypher® 包含以下数学运算符

  • 加法或一元加法:+

  • 减法或一元减法:-

  • 乘法:*

  • 除法:/

  • 模除:%

  • 乘方:^

有关其他数学表达式,请参阅

示例

加法运算符 (+)
RETURN 10 + 5 AS result
结果
结果

15

行数:1

一元加法运算符 (+)
RETURN + 5 AS result
结果
结果

5

行数:1

减法运算符 (-)
RETURN 10 - 5 AS result
结果
结果

5

行数:1

一元减法运算符 (-)
RETURN - 5 AS result
结果
结果

-5

行数:1

乘法运算符 (*)
RETURN 10 * 5 AS result
结果
结果

50

行数:1

除法运算符 (/)
RETURN 10 / 5 AS result
结果
结果

2

行数:1

模除运算符 (%)
RETURN 10 % 3 AS result
结果
结果

1

行数:1

乘方运算符 (^)
RETURN 10 ^ 5 AS result
结果
结果

100000.0

行数:1

使用数学运算符修改属性
CREATE (p:Product {price: 10})
SET p.discountPrice = p.price * (1 - 0.15)
RETURN p.discountPrice AS discountPrice
结果
折扣价

8.5

行数: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

-36.0

-36.0

行数:1

评估顺序
优先级 操作 结果

1

一元负 (-50)

-50

2

乘方 (5 ^ 2)

25

3

乘法 (6 * 3)

18

3

除法 (100 / 25)

4

3

模除 (4 % 12)

4

4

加法 (-50 + 18)

-32

4

减法 (-32 - 4)

-36

只有将某些操作括在括号内才会改变优先级顺序,从而可能改变表达式的结果。

单个操作加括号
RETURN (-50 + 6) * 3 - 100 / 5 ^ 2 % 12 AS result
结果
结果

-136.0

行数:1

改变的评估顺序
优先级 操作 结果

1

带括号的操作 (-50 + 6)

-44

2

乘方 (5 ^ 2)

25

3

乘法 (-44 * 3)

132

3

除法 (100 / 25)

4

3

模除 (4 % 12)

4

4

减法 (-132 - 4)

-136

© . All rights reserved.