sql >> Base de Datos >  >> RDS >> Oracle

Función NVL() en Oracle

En Oracle Database, el NVL() La función nos permite reemplazar valores nulos con otro valor.

Sintaxis

La sintaxis es así:

NVL(expr1, expr2)

Si expr1 es nulo, entonces expr2 es regresado. De lo contrario expr1 es devuelto.

Ejemplo

Aquí hay un ejemplo para demostrarlo:

SELECT NVL(null, 'Fish')
FROM DUAL;

Resultado:

Fish

Y esto es lo que sucede cuando el primer argumento es un valor no nulo:

SELECT NVL('Brocoli', 'Fish')
FROM DUAL;

Resultado:

Brocoli

Recuento de argumentos no válidos

Llamar a la función sin pasar ningún argumento da como resultado un error:

SELECT NVL()
FROM DUAL;

Resultado:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

Y pasar demasiados argumentos también provoca un error:

SELECT NVL(1, 2, 3)
FROM DUAL;

Resultado:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

El NVL2() Función

Alternativamente, puede usar el NVL2() función, que le permite especificar un valor diferente para devolver en caso de que el primer argumento no sea nulo.