Sintaxe: COALESCE(expression1,…n)
O coalesce analisa o primeiro parâmetro, caso esse parâmetro seja null então ele analise o segundo parâmetro, caso o segundo seja diferente de null ele retorna o valor do mesmo, senão ele analisa o próximo parâmetro até que um dos parâmetros seja diferente de null ou não haja mais parâmetros para analisar.
Exemplo:
MySQL
SELECT coalesce(null, 1)
Resultado: 1
SELECT coalesce (null, null, 2)
Resultado: 2
SELECT coalesce (null, null, null)
Resultado: null
Os parâmetros podem receber valores “fixos” e campos:
SELECT coalesce(vlr_pedido, 0) FROM tabela_pedidos
Ou seja, no exemplo acima caso o campo vlr_pedido seja NULL então será retornado o valor do segundo parâmetro, no caso, “0″. Senão será retornado o valor presente no campo “vlr_pedido”.
Lembrando que o coalesce funciona tanto no MySQL bem como no PostgreSQL, no Oracle, no SQL Server.
Lembrando também que os tipos devem ser iguais. Se forem diferentes retorna:
ERRO: tipos no COALESCE integer e character varying não podem corresponder