Skip to content

COALESCE

Returns the first expr[1,... N] that is not NULL. If all expr[1,... N] are NULL, NULL is returned.

Syntax

sql
COALESCE(expr1, expr2[, expr3, ... exprN])

Usage Notes

All expr[1...N] arguments must be of the same data type.

Examples

sql
select col1, col2, col3, coalesce(col1, col2, col3)
    from (             select 1    as col1, 2    as col2, 3    as col3  
            union all  select NULL as col1, 2    as col2, 3    as col3   
            union all  select NULL as col1, NULL as col2, 3    as col3   
            union all  select NULL as col1, NULL as col2, NULL as col3
            union all  select 1    as col1, NULL as col2, 3    as col3   
            union all  select 1    as col1, NULL as col2, NULL as col3
            union all  select 1    as col1, 2    as col2, NULL as col3);
+---------+---------+---------+-------------------------------------+
|   COL1  |   COL2  |   COL3  |      COALESCE(COL1, COL2, COL3)     |
|---------+---------+---------+-------------------------------------|
|       1 |       2 |       3 |                                   1 |
|    NULL |       2 |       3 |                                   2 |
|    NULL |    NULL |       3 |                                   3 |
|    NULL |    NULL |    NULL |                                NULL |
|       1 |    NULL |       3 |                                   1 |
|       1 |    NULL |    NULL |                                   1 |
|       1 |       2 |    NULL |                                   1 |
+---------+---------+---------+-------------------------------------+
sql
select col1, col2, col3, coalesce(col1, col2, col3)
    from(              select 'a' as col1, 'b'  as col2, 'c'  as col3  
            union all  select 'a' as col1, 'b'  as col2, NULL as col3   
            union all  select 'a' as col1, NULL as col2, NULL as col3);
+---------+---------+---------+-------------------------------------+
|   COL1  |   COL2  |   COL3  |      COALESCE(COL1, COL2, COL3)     |
+---------+---------+---------+-------------------------------------+
| a       | b       | c       | a                                   |
| a       | b       | NULL    | a                                   |
| a       | NULL    | NULL    | a                                   |
+---------+---------+---------+-------------------------------------+