neo4j
数学函数
Mathematical functions
数
-numeric
abs()
abs(expression)
返回expression的绝对值
abs(null) 会返回null;
ceil()
ceil(expression)
返回值:Float
向上取整,但返回的类型是浮点数
ceil(null)会返回null
floor()
floor(expression)
返回值:Float
向下取整,但返回的类型是浮点数
floor(null)会返回null
rand()
rand()
返回值:Float
返回一个随机数,值域是[0,1)
round()
round(expression[,precision[,mode]])
返回值:Float
返回expression最近的整数,但返回类型是浮点数
- round(null)会返回null;
- 对于,expression=n+1/2,n∈Z,round(expression)=n+1
- 可以指定精确度,precision会指定返回结果精确到小数点后第几位Pythonround(3.141592, 3)会返回3.142
- 可以指定取整模式mode,mode应为String且可选模式如下
mode | 描述 |
---|---|
CEILING | 向上取整,更大值 |
DOWN | 向0取整,绝对值更小值 |
FLOOR | 向下取整,更小值 |
HALF_DOWN | 中间值向0取整,绝对值更小值;其余值取最近 |
HALF_EVEN | 中间值在位数允许时取自身,否则取最近的偶数;其余值取最近 |
HALF_UP | 中间值在precision不为0时,向绝对值更大值取整,precision为0时,向0取整;其余值取最近 |
UP | 向绝对值更大值取整 |
- ∗此处DOWN/FLOOR/UP的具体情由测试得到,与官方文档略有不同,应该是官方文档的纰漏
sign()
sign(expression)
返回值:Integer
依据expression的正负号返回一个整数
- expression为0则返回0;
- expression为正则返回1;
- expression为负则返回-1;
- sign(null)会返回null;
对数
-logarithmic
e()
e()
返回值:Float
返回自然对数e
RETURN e()
结果
e() |
---|
2.718281828459045 |
exp()
exp(expression)
返回值:Float
返回e的expression次方
exp(null) 会返回null;
∗此处此处官方文档将语法纰漏写错为e(expression)
log()
log(expression)
返回值:Float
返回以自然对数e为底、以expression为真数的对数的值
- log(null)会返回null;
- log(0)会返回-Infinity;
- expression为负数时返回NaN;
∗此处此处官方文档声明log(0)会返回null,实则不然,以下同理
log10()
log10(expression)
返回值:Float
返回以10为底、以expression为真数的对数的值
- log10(null)会返回null;
- log10(0)会返回-Infinity;
- expression为负数时返回NaN;
sqrt()
sqrt(expression)
返回值:Float
返回expression的平方根
- sqrt(null)会返回null;
- expression为负数时返回NaN;
三角
-trigonometric
cypher中的三角函数有以下这些
- acos()
- asin()
- atan()
- atan2()
- cos()
- cot()
- sin()
- tan()
- haversin()
其参数单位均为弧度制
之外,有以下这些函数
pi()
pi()
返回值:Float
返回π
matlab
RETURN pi()
结果为3.141592653589793
由于实际上pi()不是数学意义上的π,sin(0.5*pi())的值为1,但sin(pi())值为1.2246467991473532e-16
degrees()
degrees(expression)
返回值:Float
将expression表达的弧度制转为角度
degrees(null)会返回null
radians()
radians()
返回值:Float
将expression表达的角度转为弧度制
radians(null)会返回null