# Comparison Operations
The following operations can take operands with multiple data types
but always return a Boolean value (sometimes nullable):
Comparison Operations
| Operation |
Definition |
Observation |
= |
equality test |
|
<> |
inequality test |
|
> |
greater than |
|
< |
less than |
|
>= |
greater or equal |
|
<= |
less or equal |
|
IS NULL |
true if operand is NULL |
|
IS NOT NULL |
true if operand is not NULL |
|
<=> |
equality check that treats NULL values as equal |
result is not nullable |
IS DISTINCT FROM |
check if two values are not equal, treating NULL as equal |
result is not nullable |
IS NOT DISTINCT FROM |
check if two values are the same, treating NULL values as equal |
result is not nullable |
BETWEEN ... AND ... |
x BETWEEN a AND b is the same as a <= x AND x <= b |
inclusive at both endpoints |
NOT BETWEEN ... AND ... |
The NOT of the previous operator |
not inclusive at either endpoint |
... IN ... |
checks whether value appears in a list or set |
|
<OP> ANY SET |
check if any of the values in a set compares properly |
Example: 10 <= ANY (VALUES 10, 20, 30) |
<OP> ALL SET |
check if all the values in a set compare properly |
Example: 10 <= ALL (VALUES 10, 20, 30) |
EXISTS query |
check whether query results have at least one row |
|
UNIQUE query |
check whether the result of a query contains no duplicates |
ignores NULL values |
# Other conditional operators
CASE value
WHEN value1 [, value11 ]* THEN result1
[ WHEN valueN [, valueN1 ]* THEN resultN ]*
[ ELSE resultZ ]
END
|
Simple case |
CASE WHEN condition1 THEN result1
[ WHEN conditionN THEN resultN ]*
[ ELSE resultZ ]
END
|
Searched case |
NULLIF(value, value) |
Returns `NULL` if the values are the same.
For example, NULLIF(5, 5) returns NULL; NULLIF(5, 0) returns 5.
|
COALESCE(value, value [, value ]*) |
Provides a value if the first value is NULL.
For example, COALESCE(NULL, 5) returns 5.
|