2016-04-29 3 views
1

Ich bin auf der Suche nach der detaillierten Antwort mit einfachen Beispielen für diese Funktionen.Was sind die NVL- und die NVL2-Funktionen in Oracle? Wie unterscheiden sie sich?

+0

Tag der dbms. Diese Funktionen sind produktspezifisch. – jarlh

+2

Sorry, um ehrlich zu sein, aber buchstäblich das erste Ergebnis der Google-Suche nach "nvl vs nvl2" enthält die Antwort. Zumindest für mich, das ist ... – user1429080

+1

Wenn alles andere fehlschlägt, lesen Sie das Handbuch: https://docs.oracle.com/database/121/SQLRF/functions131.htm#SQLRF00684 und https://docs.oracle. com/database/121/SQLRF/functions132.htm # SQLRF00685 –

Antwort

9

NVL prüft, ob erste Argument null ist und das zweite Argument zurückgibt:

select nvl(null, 'arg2') from dual 

in diesem Beispiel Ergebnis sein wird: arg2;

select nvl('arg1', 'arg2') from dual 

und in diesem: arg1;

NVL2 hat unterschiedliche Logik. Wenn die erste Argument nicht null ist, dann kehrt NVL2 zweites Argument, aber in anderen Fällen wird es drittes Argument zurück:

select nvl2('arg1', 'arg2', 'arg3') from dual 

Ergebnis: arg2

select nvl2(null, 'arg2', 'arg3') from dual 

Ergebnis: arg3

Verwandte Themen