Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Função NVL() no Oracle


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.