Mathematical functions - numeric

These functions all operate on numeric expressions only, and will return an error if used on any other values. See also Mathematical operators.

Functions:

The following graph is used for the examples below:

Diagram

1. abs()

abs() returns the absolute value of the given number.

Syntax: abs(expression)

Returns:

The type of the value returned will be that of expression.

Arguments:

Name Description

expression

A numeric expression.

Considerations:

abs(null) returns null.

If expression is negative, -(expression) (i.e. the negation of expression) is returned.

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.

Table 1. Result
a.age e.age abs(a.age - e.age)

38

41

3

1 row

2. ceil()

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

expression

A numeric expression.

Considerations:

ceil(null) returns null.

Query
RETURN ceil(0.1)

The ceil of 0.1 is returned.

Table 2. Result
ceil(0.1)

1.0

1 row

3. floor()

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

expression

A numeric expression.

Considerations:

floor(null) returns null.

Query
RETURN floor(0.9)

The floor of 0.9 is returned.

Table 3. Result
floor(0.9)

0.0

1 row

4. rand()

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.

Table 4. Result
rand()

0.0860786224035448

1 row

5. round()

round() returns the value of the given number rounded to the nearest integer, with half-way values always rounded up.

Syntax: round(expression)

Returns:

A Float.

Arguments:

Name Description

expression

A numeric expression to be rounded.

Considerations:

round(null) returns null.

Query
RETURN round(3.141592)

3.0 is returned.

Table 5. Result
round(3.141592)

3.0

1 row

6. round(), with precision

round() returns the value of the given number rounded with the specified precision, with half-values always being rounded up.

Syntax: round(expression, precision)

Returns:

A Float.

Arguments:

Name Description

expression

A numeric expression to be rounded.

precision

A numeric expression specifying precision.

Considerations:

round(null) returns null.

Query
RETURN round(3.141592, 3)

3.142 is returned.

Table 6. Result
round(3.141592, 3)

3.142

1 row

7. round(), with precision and rounding mode

round() returns the value of the given number rounded with the specified precision and the specified rounding mode.

Syntax: round(expression, precision, mode)

Returns:

A Float.

Arguments:

Name Description

expression

A numeric expression to be rounded.

precision

A numeric expression specifying precision.

mode

A string expression specifying rounding mode.

Modes:

Mode Description

CEILING

Round towards positive infinity.

DOWN

Round towards zero.

FLOOR

Round towards zero.

HALF_DOWN

Round towards closest value of given precision, with half-values always being rounded down.

HALF_EVEN

Round towards closest value of given precision, with half-values always being rounded to the even neighbor.

HALF_UP

Round towards closest value of given precision, with half-values always being rounded up.

UP

Round away from zero.

Considerations:

round(null) returns null.

Query
RETURN round(3.141592, 2, 'CEILING')

3.15 is returned.

Table 7. Result
round(3.141592, 2, 'CEILING')

3.15

1 row

8. sign()

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

expression

A numeric expression.

Considerations:

sign(null) returns null.

Query
RETURN sign(-17), sign(0.1)

The signs of -17 and 0.1 are returned.

Table 8. Result
sign(-17) sign(0.1)

-1

1

1 row