- Categorias:
COALESCE¶
Retorna a primeira expressão não NULL entre seus argumentos, ou NULL se todos os seus argumentos forem NULL.
Sintaxe¶
COALESCE( <expr1> , <expr2> [ , ... , <exprN> ] )
Notas de uso¶
Se possível, passe em argumentos do mesmo tipo. Evite passar em argumentos de diferentes tipos.
Se um dos argumentos for um número, a função converte os argumentos de cadeia de caracteres não numérica (por exemplo,
'a string'
) e os argumentos de cadeia de caracteres que não sejam constantes para o tipo NUMBER(18,5).Para argumentos de cadeia de caracteres numérica que não sejam constantes, se NUMBER(18,5) não for suficiente para representar o valor numérico, então converta o argumento para um tipo que possa representar o valor.
Detalhes do agrupamento¶
The collation specifications of all input arguments must be compatible.
The comparisons follow the collation based on the input arguments” collations and precedences.
The collation of the result of the function is the highest-precedence collation of the inputs.
Exemplos¶
SELECT column1, column2, column3, coalesce(column1, column2, column3)
FROM (values
(1, 2, 3 ),
(null, 2, 3 ),
(null, null, 3 ),
(null, null, null),
(1, null, 3 ),
(1, null, null),
(1, 2, null)
) v;
+---------+---------+---------+-------------------------------------+
| COLUMN1 | COLUMN2 | COLUMN3 | COALESCE(COLUMN1, COLUMN2, COLUMN3) |
|---------+---------+---------+-------------------------------------|
| 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 |
+---------+---------+---------+-------------------------------------+