[role="xpack"]
[testenv="basic"]
[[sql-functions-conditional]]
=== Conditional Functions

Functions that return one of their arguments by evaluating in an if-else manner.

[[sql-functions-conditional-coalesce]]
==== `COALESCE`

.Synopsis
[source, sql]
----
COALESCE ( expression<1>, expression<2>, ... )
----

*Input*:

<1> 1st expression

<2> 2nd expression

...

**N**th expression

COALESCE can take an arbitrary number of arguments.

*Output*: one of the expressions or `null`

.Description

Returns the first of its arguments that is not null.
If all arguments are null, then it returns `null`.



["source","sql",subs="attributes,callouts,macros"]
----
include-tagged::{sql-specs}/docs.csv-spec[coalesceReturnNonNull]
----

["source","sql",subs="attributes,callouts,macros"]
----
include-tagged::{sql-specs}/docs.csv-spec[coalesceReturnNull]
----
