数值函数
数值数学函数仅对数值表达式进行运算,如果用于其他类型的值,将返回错误。另请参阅 数学运算符。
示例图
以下图表用于下方的示例
要重新创建该图,请在空的 Neo4j 数据库中运行以下查询
CREATE
(alice:Developer {name:'Alice', age: 38, eyes: 'Brown'}),
(bob:Administrator {name: 'Bob', age: 25, eyes: 'Blue'}),
(charlie:Administrator {name: 'Charlie', age: 53, eyes: 'Green'}),
(daniel:Adminstrator {name: 'Daniel', age: 54, eyes: 'Brown'}),
(eskil:Designer {name: 'Eskil', age: 41, eyes: 'blue', likedColors: ['Pink', 'Yellow', 'Black']}),
(alice)-[:KNOWS]->(bob),
(alice)-[:KNOWS]->(charlie),
(bob)-[:KNOWS]->(daniel),
(charlie)-[:KNOWS]->(daniel),
(bob)-[:MARRIED]->(eskil)
abs()
语法 |
|
||
描述 |
返回 |
||
参数 |
名称 |
类型 |
描述 |
|
|
返回其绝对值的数值。 |
|
返回 |
|
||
|
如果 |
MATCH (a), (e) WHERE a.name = 'Alice' AND e.name = 'Eskil'
RETURN a.age, e.age, abs(a.age - e.age)
返回年龄差的绝对值。
| a.age | e.age | abs(a.age - e.age) |
|---|---|---|
|
|
|
行:1 |
||
ceil()
语法 |
|
||
描述 |
返回大于或等于给定数字且等于 |
||
参数 |
名称 |
类型 |
描述 |
|
|
要舍入到最接近的较大整数的值。 |
|
返回 |
|
||
|
RETURN ceil(0.1)
返回 0.1 的向上取整值。
| ceil(0.1) |
|---|
|
行:1 |
ceiling()仅限 Cypher 25在 Neo4j 2026.02 中引入
语法 |
|
||
描述 |
返回大于或等于给定数字且等于 |
||
参数 |
名称 |
类型 |
描述 |
|
|
要舍入到最接近的较大整数的值。 |
|
返回 |
|
||
|
RETURN ceiling(0.1)
返回 0.1 的向上取整值。
| ceiling(0.1) |
|---|
|
行:1 |
floor()
语法 |
|
||
描述 |
返回小于或等于给定数字且等于 |
||
参数 |
名称 |
类型 |
描述 |
|
|
要舍入到最接近的较小整数的值。 |
|
返回 |
|
||
|
RETURN floor(0.9)
返回 0.9 的向下取整值。
| floor(0.9) |
|---|
|
行:1 |
isNaN()
语法 |
|
||
描述 |
返回给定的 |
||
参数 |
名称 |
类型 |
描述 |
|
|
要与 |
|
返回 |
|
||
|
RETURN isNaN(0/0.0)
因为该值为 NaN,所以返回 true。
| isNaN(0/0.0) |
|---|
|
行:1 |
rand()
语法 |
|
||
描述 |
返回一个介于 0(含)到 1(不含)之间的随机 |
||
返回 |
|
||
RETURN rand()
返回一个随机数。
| rand() |
|---|
|
行:1 |
round()
语法 |
|
||
描述 |
返回舍入后的数字值,可选择使用指定的精度和舍入模式。 |
||
参数 |
名称 |
类型 |
描述 |
|
|
要舍入的值。 |
|
|
|
舍入精度(默认: |
|
|
|
精度舍入模式( |
|
返回 |
|
||
mode |
描述 |
|---|---|
|
远离零方向舍入。 |
|
向零方向舍入。 |
|
向正无穷大方向舍入。 |
|
向负无穷大方向舍入。 |
|
向给定精度的最近值舍入,如果距离相等,则总是远离零方向舍入。 |
|
向给定精度的最近值舍入,如果距离相等,则总是向零方向舍入。 |
|
向给定精度的最近值舍入,如果距离相等,则总是向偶数邻居舍入。 |
对于舍入模式,“距离相等”(tie)意味着给定精度的两个最近值与给定值的距离相同。例如,对于精度 1,2.15 是距离相等的,因为它到 2.1 和 2.2 的距离相同;而 2.151 不是距离相等的,因为它更接近 2.2。 |
如果任何输入参数为 |
RETURN round(3.141592)
返回 3.0。
| round(3.141592) |
|---|
|
行:1 |
RETURN round(-1.5)
距离相等的情况向正无穷大方向舍入,因此返回 -1.0。
| round(-1.5) |
|---|
|
行:1 |
带精度的 round()
RETURN round(3.141592, 3)
返回 3.142。
| round(3.141592, 3) |
|---|
|
行:1 |
RETURN round(-1.5, 0)
为了与 round(-1.5) 一致,返回 -1.0。
| round(-1.5, 0) |
|---|
|
行:1 |
RETURN round(-1.55, 1)
默认做法是在距离相等时远离零方向舍入,因此返回 -1.6。
| round(-1.55, 1) |
|---|
|
行:1 |
带精度和舍入模式的 round()
RETURN round(1.249, 1, 'UP') AS positive,
round(-1.251, 1, 'UP') AS negative,
round(1.25, 1, 'UP') AS positiveTie,
round(-1.35, 1, 'UP') AS negativeTie
返回使用精度 1 和 UP 舍入模式计算后的舍入值。
| positive | negative | positiveTie | negativeTie |
|---|---|---|---|
|
|
|
|
行:1 |
|||
RETURN round(1.249, 1, 'DOWN') AS positive,
round(-1.251, 1, 'DOWN') AS negative,
round(1.25, 1, 'DOWN') AS positiveTie,
round(-1.35, 1, 'DOWN') AS negativeTie
返回使用精度 1 和 DOWN 舍入模式计算后的舍入值。
| positive | negative | positiveTie | negativeTie |
|---|---|---|---|
|
|
|
|
行:1 |
|||
RETURN round(1.249, 1, 'CEILING') AS positive,
round(-1.251, 1, 'CEILING') AS negative,
round(1.25, 1, 'CEILING') AS positiveTie,
round(-1.35, 1, 'CEILING') AS negativeTie
返回使用精度 1 和 CEILING 舍入模式计算后的舍入值。
| positive | negative | positiveTie | negativeTie |
|---|---|---|---|
|
|
|
|
行:1 |
|||
RETURN round(1.249, 1, 'FLOOR') AS positive,
round(-1.251, 1, 'FLOOR') AS negative,
round(1.25, 1, 'FLOOR') AS positiveTie,
round(-1.35, 1, 'FLOOR') AS negativeTie
返回使用精度 1 和 FLOOR 舍入模式计算后的舍入值。
| positive | negative | positiveTie | negativeTie |
|---|---|---|---|
|
|
|
|
行:1 |
|||
RETURN round(1.249, 1, 'HALF_UP') AS positive,
round(-1.251, 1, 'HALF_UP') AS negative,
round(1.25, 1, 'HALF_UP') AS positiveTie,
round(-1.35, 1, 'HALF_UP') AS negativeTie
返回使用精度 1 和 HALF_UP 舍入模式计算后的舍入值。
| positive | negative | positiveTie | negativeTie |
|---|---|---|---|
|
|
|
|
行:1 |
|||
RETURN round(1.249, 1, 'HALF_DOWN') AS positive,
round(-1.251, 1, 'HALF_DOWN') AS negative,
round(1.25, 1, 'HALF_DOWN') AS positiveTie,
round(-1.35, 1, 'HALF_DOWN') AS negativeTie
返回使用精度 1 和 HALF_DOWN 舍入模式计算后的舍入值。
| positive | negative | positiveTie | negativeTie |
|---|---|---|---|
|
|
|
|
行:1 |
|||
RETURN round(1.249, 1, 'HALF_EVEN') AS positive,
round(-1.251, 1, 'HALF_EVEN') AS negative,
round(1.25, 1, 'HALF_EVEN') AS positiveTie,
round(-1.35, 1, 'HALF_EVEN') AS negativeTie
返回使用精度 1 和 HALF_EVEN 舍入模式计算后的舍入值。
| positive | negative | positiveTie | negativeTie |
|---|---|---|---|
|
|
|
|
行:1 |
|||