These functions all operate on numeric expressions only, and will return an error if used on any other values. See also Section 2.7.4, “Mathematical operators”.
Functions:
The following graph is used for the examples below:
abs()
returns the absolute value of the given number.
Syntax: abs(expression)
Returns:
The type of the value returned will be that of |
Arguments:
Name | Description |
---|---|
|
A numeric expression. |
Considerations:
|
If |
Query.
MATCH (a),(e)
WHERE a.name = 'Alice' AND e.name = 'Eskil'
RETURN a.age, e.age, abs(a.age - e.age)
The absolute value of the age difference is returned.
a.age | e.age | abs(a.age - e.age) |
---|---|---|
1 row |
||
|
|
|
Try this query live. CREATE (alice:A {name:'Alice', age: 38, eyes: 'brown'}), (bob:B {name: 'Bob', age: 25, eyes: 'blue'}), (charlie:C {name: 'Charlie', age: 53, eyes: 'green'}), (daniel:D {name: 'Daniel', age: 54, eyes: 'brown'}), (eskil:E {name: 'Eskil', age: 41, eyes: 'blue', array: ['one', 'two', 'three']}), (alice)-[:KNOWS]->(bob), (alice)-[:KNOWS]->(charlie), (bob)-[:KNOWS]->(daniel), (charlie)-[:KNOWS]->(daniel), (bob)-[:MARRIED]->(eskil) MATCH (a), (e) WHERE a.name = 'Alice' AND e.name = 'Eskil' RETURN a.age, e.age, abs(a.age - e.age)
ceil()
returns the smallest floating point number that is greater than or equal to the given number and equal to a mathematical
integer.
Syntax: ceil(expression)
Returns:
A Float. |
Arguments:
Name | Description |
---|---|
|
A numeric expression. |
Considerations:
|
Query.
RETURN ceil(0.1)
The ceil of 0.1
is returned.
ceil(0.1) |
---|
1 row |
|
Try this query live. CREATE (alice:A {name:'Alice', age: 38, eyes: 'brown'}), (bob:B {name: 'Bob', age: 25, eyes: 'blue'}), (charlie:C {name: 'Charlie', age: 53, eyes: 'green'}), (daniel:D {name: 'Daniel', age: 54, eyes: 'brown'}), (eskil:E {name: 'Eskil', age: 41, eyes: 'blue', array: ['one', 'two', 'three']}), (alice)-[:KNOWS]->(bob), (alice)-[:KNOWS]->(charlie), (bob)-[:KNOWS]->(daniel), (charlie)-[:KNOWS]->(daniel), (bob)-[:MARRIED]->(eskil) RETURN ceil(0.1)
floor()
returns the largest floating point number that is less than or equal to the given number and equal to a mathematical integer.
Syntax: floor(expression)
Returns:
A Float. |
Arguments:
Name | Description |
---|---|
|
A numeric expression. |
Considerations:
|
Query.
RETURN floor(0.9)
The floor of 0.9
is returned.
floor(0.9) |
---|
1 row |
|
Try this query live. CREATE (alice:A {name:'Alice', age: 38, eyes: 'brown'}), (bob:B {name: 'Bob', age: 25, eyes: 'blue'}), (charlie:C {name: 'Charlie', age: 53, eyes: 'green'}), (daniel:D {name: 'Daniel', age: 54, eyes: 'brown'}), (eskil:E {name: 'Eskil', age: 41, eyes: 'blue', array: ['one', 'two', 'three']}), (alice)-[:KNOWS]->(bob), (alice)-[:KNOWS]->(charlie), (bob)-[:KNOWS]->(daniel), (charlie)-[:KNOWS]->(daniel), (bob)-[:MARRIED]->(eskil) RETURN floor(0.9)
rand()
returns a random floating point number in the range from 0 (inclusive) to 1 (exclusive); i.e. [0,1)
. The numbers returned follow an approximate uniform distribution.
Syntax: rand()
Returns:
A Float. |
Query.
RETURN rand()
A random number is returned.
rand() |
---|
1 row |
|
Try this query live. CREATE (alice:A {name:'Alice', age: 38, eyes: 'brown'}), (bob:B {name: 'Bob', age: 25, eyes: 'blue'}), (charlie:C {name: 'Charlie', age: 53, eyes: 'green'}), (daniel:D {name: 'Daniel', age: 54, eyes: 'brown'}), (eskil:E {name: 'Eskil', age: 41, eyes: 'blue', array: ['one', 'two', 'three']}), (alice)-[:KNOWS]->(bob), (alice)-[:KNOWS]->(charlie), (bob)-[:KNOWS]->(daniel), (charlie)-[:KNOWS]->(daniel), (bob)-[:MARRIED]->(eskil) RETURN rand()
round()
returns the value of the given number rounded to the nearest integer.
Syntax: round(expression)
Returns:
A Float. |
Arguments:
Name | Description |
---|---|
|
A numeric expression. |
Considerations:
|
Query.
RETURN round(3.141592)
3.0
is returned.
round(3.141592) |
---|
1 row |
|
Try this query live. CREATE (alice:A {name:'Alice', age: 38, eyes: 'brown'}), (bob:B {name: 'Bob', age: 25, eyes: 'blue'}), (charlie:C {name: 'Charlie', age: 53, eyes: 'green'}), (daniel:D {name: 'Daniel', age: 54, eyes: 'brown'}), (eskil:E {name: 'Eskil', age: 41, eyes: 'blue', array: ['one', 'two', 'three']}), (alice)-[:KNOWS]->(bob), (alice)-[:KNOWS]->(charlie), (bob)-[:KNOWS]->(daniel), (charlie)-[:KNOWS]->(daniel), (bob)-[:MARRIED]->(eskil) RETURN round(3.141592)
sign()
returns the signum of the given number: 0
if the number is 0
, -1
for any negative number, and 1
for any positive number.
Syntax: sign(expression)
Returns:
An Integer. |
Arguments:
Name | Description |
---|---|
|
A numeric expression. |
Considerations:
|
Query.
RETURN sign(-17), sign(0.1)
The signs of -17
and 0.1
are returned.
sign(-17) | sign(0.1) |
---|---|
1 row |
|
|
|
Try this query live. CREATE (alice:A {name:'Alice', age: 38, eyes: 'brown'}), (bob:B {name: 'Bob', age: 25, eyes: 'blue'}), (charlie:C {name: 'Charlie', age: 53, eyes: 'green'}), (daniel:D {name: 'Daniel', age: 54, eyes: 'brown'}), (eskil:E {name: 'Eskil', age: 41, eyes: 'blue', array: ['one', 'two', 'three']}), (alice)-[:KNOWS]->(bob), (alice)-[:KNOWS]->(charlie), (bob)-[:KNOWS]->(daniel), (charlie)-[:KNOWS]->(daniel), (bob)-[:MARRIED]->(eskil) RETURN sign(-17), sign(0.1)