123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- [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]
- ----
- [[sql-functions-conditional-ifnull]]
- ==== `IFNULL`
- .Synopsis
- [source, sql]
- ----
- IFNULL ( expression<1>, expression<2> )
- ----
- *Input*:
- <1> 1st expression
- <2> 2nd expression
- *Output*: 2nd expression if 1st expression is null, otherwise 1st expression.
- .Description
- Variant of <<sql-functions-conditional-coalesce>> with only two arguments.
- 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[ifNullReturnFirst]
- ----
- ["source","sql",subs="attributes,callouts,macros"]
- ----
- include-tagged::{sql-specs}/docs.csv-spec[ifNullReturnSecond]
- ----
- [[sql-functions-conditional-isnull]]
- ==== `ISNULL`
- .Synopsis
- [source, sql]
- ----
- ISNULL ( expression<1>, expression<2> )
- ----
- *Input*:
- <1> 1st expression
- <2> 2nd expression
- *Output*: 2nd expression if 1st expression is null, otherwise 1st expression.
- .Description
- Variant of <<sql-functions-conditional-coalesce>> with only two arguments.
- 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[isNullReturnFirst]
- ----
- ["source","sql",subs="attributes,callouts,macros"]
- ----
- include-tagged::{sql-specs}/docs.csv-spec[isNullReturnSecond]
- ----
|