The comparison operators are =
, <>
, <
, >
, <=
, >=
, IS NULL
, and IS NOT NULL
.
See Section 8.4.7, “Equality and Comparison of Values” on how they behave.
Collections can be concatenated using the +
operator.
To check if an element exists in a collection, you can use the IN
operator.
Note | |
---|---|
Since version 2.0, the previously existing property operators |
Cypher supports comparing values (see Section 8.1, “Values”) by equality using the =
and <>
operators.
Values of the same type are only equal if they are the same identical value (e.g. 3 = 3
and "x" <> "xy"
).
Maps are only equal if they map exactly the same keys to equal values and collections are only equal if they contain the same sequence of equal values (e.g. [3, 4] = [1+2, 8/2]
).
Values of different types are considered as equal according to the following rules:
NULL
with both the =
and the <>
operators always is NULL
.
This includes NULL = NULL
and NULL <> NULL
.
The only way to reliably test if a value v
is NULL
is by using the special v IS NULL
, or v IS NOT NULL
equality operators.
All other combinations of types of values cannot be compared with each other. Especially, nodes, relationships, and literal maps are incomparable with each other.
It is an error to compare values that cannot be compared.
The comparison operators <=
(for ascending) and >=
(for descending) are used to compare values for ordering.
The following points give some details on how the comparison is performed.
3 < 4
is true).
"x" < "xy"
).
false < true
.
NULL
is NULL
(e.g. NULL < 3
is NULL
).
For other comparison operators, see Section 8.4.2, “Comparison operators”.
Copyright © 2014 Neo Technology