Coalesce
Com a função COALESCE, é possível definir que, quando o campo retornar nulo, outro valor será retornado no lugar.
TABELA EXEMPLO
EX_PRODUTOS
| IDPRODUTO | DESCRICAO | VALOR_CUSTO | VALOR_VENDA |
-----------------------------------------------------------
| 1 | 'Arroz 1KG' | 0.75 | (null) |
| 2 | 'Feijão 1KG' | 1.07 | 2.99 |
| 3 | 'Macarrão 500G' | (null) | (null) |
SQL de CRIAÇÃO/INSERÇÃO:
CREATE TABLE ex_produtos (
idproduto INT4,
descricao TEXT,
valor_custo DECIMAL(15,2),
valor_venda DECIMAL(15,2));
INSERT INTO ex_produtos VALUES (1, 'Arroz 1KG', 0.75, NULL),
(2, 'Feijão 1KG', 1.07, 2.99),
(3, 'Macarrão 500G', NULL, NULL);
COALESCE
A função COALESCE retorna o valor do parâmetro seguinte quando o anterior ser nulo. Pode ser usado quantos parâmetros de entrada for necessário.
SELECT DESCRICAO,
COALESCE(VALOR_VENDA, VALOR_CUSTO, 0) AS VALOR
FROM EX_PRODUTOS
Retorno:
| DESCRICAO | VALOR |
---------------------------
| 'Arroz 1KG' | 0.75 |
| 'Feijão 1KG' | 2.99 |
| 'Macarrão 500G' | 0 |