COALESCE is used to check if the argument is NULL, if it is NULL then it takes the default value.
verificará sequencialmente os valores não nulos na lista e devolverá o primeiro valor nulo.
sintaxe:
COALESCE(Argument list,)
lista de argumentos-podem ser colunas de uma tabela ou expressões
COALESCE retorna nulo se todos os seus argumentos avaliarem para nulo.
caso contrário, devolve o valor do primeiro argumento não nulo na lista de expressões indicada.Cada função COALESCE deve ter pelo menos dois operandos. Duas colunas ou uma coluna com um valor por omissão.
é possível ter múltiplas colunas sob coalesce como abaixo:
COALESCE(col1, col2, col3, 0)
O código acima diz que se col1 é nulo, então ele vai verificar col2.Se o col2 for nulo, então verificará se o col3 é nulo.
se col3 também é nulo, então 0 será a saída.
se coalesce encontrar alguma da coluna sem valor nulo, então o valor da coluna será devolvido pela consulta. (Prioridade da esquerda para a direita)
exemplo : 1
Se o país assume o valor NULO, o ‘NÓS’ será fornecido pela Teradata
SELECT COALESCE(Country,'US') as Output
Saída
País | Saída |
---|---|
Itália | Itália |
NULL | NÓS |
Exemplo: 2
O exemplo a seguir retorna o número de telefone de casa do indivíduo (se presente), ou escritório de telefone se o telefone residencial é nulo, ou Celular, em caso de presente e de casa e do telefone do escritório valores são nulos. Devolve nulo se os três valores forem nulos.
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;
Quando um valor padrão é fornecido, o valor padrão será devolvido se a todos os campos de entrada são nulos
SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;
Exemplo:3
Sempre que você combinar a ADESÃO com não-operadores de comparação, tais como, | | ou * ou +, você deve colocar toda a função de ADESÃO e seus operandos entre parênteses.
SELECT (COALESCE(100,0)) * 5;