- Categorias:
NVL2¶
Retorna valores com base na possibilidade de a primeira entrada ser NULL:
Se
expr1
for NOT NULL, então NVL2 retornaexpr2
.Se
expr1
for NULL, então NVL2 retornaexpr3
.
Sintaxe¶
NVL2( <expr1> , <expr2> , <expr3> )
Argumentos¶
expr1
A expressão a ser verificada para ver se é NULL.
expr2
Se
expr1
não for NULL, esta expressão será avaliada e seu valor será retornado.expr3
Se
expr1
for NULL, esta expressão será avaliada e seu valor será retornado.
Notas de uso¶
Todas as três expressões devem ter o mesmo tipo de dados (ou compatíveis).
Detalhes do agrupamento¶
A especificação de agrupamento para
expr1
é ignorada porque tudo que importa sobre esta expressão é se ela é NULL ou não.As especificações de agrupamento para
expr2
eexpr3
devem ser compatíveis.O valor retornado da função é o agrupamento de maior precedência de
expr2
eexpr3
.
Exemplos¶
Se a
não for nulo, então retorna b
, senão retorna c
:
SELECT a, b, c, NVL2(a, b, c) FROM i2; --------+--------+--------+---------------+ A | B | C | NVL2(A, B, C) | --------+--------+--------+---------------+ 0 | 5 | 3 | 5 | 0 | 5 | [NULL] | 5 | 0 | [NULL] | 3 | [NULL] | 0 | [NULL] | [NULL] | [NULL] | [NULL] | 5 | 3 | 3 | [NULL] | 5 | [NULL] | [NULL] | [NULL] | [NULL] | 3 | 3 | [NULL] | [NULL] | [NULL] | [NULL] | --------+--------+--------+---------------+