No banco de dados Oracle, o
NVL()
função nos permite substituir valores nulos por outro valor. Sintaxe
A sintaxe fica assim:
NVL(expr1, expr2)
Se
expr1
for nulo, então expr2
é devolvido. Caso contrário, expr1
é devolvido. Exemplo
Segue um exemplo para demonstrar:
SELECT NVL(null, 'Fish')
FROM DUAL;
Resultado:
Fish
E aqui está o que acontece quando o primeiro argumento é um valor não nulo:
SELECT NVL('Brocoli', 'Fish')
FROM DUAL;
Resultado:
Brocoli
Contagem de argumentos inválida
Chamar a função sem passar nenhum argumento resulta em um erro:
SELECT NVL()
FROM DUAL;
Resultado:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
E passar muitos argumentos também causa um erro:
SELECT NVL(1, 2, 3)
FROM DUAL;
Resultado:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
O NVL2()
Função
Você também pode usar o
NVL2()
função, que permite especificar um valor diferente para retornar caso o primeiro argumento não seja nulo.