数学运算符

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
结果
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
结果
result1(结果1) result2(结果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