Dieses Oracle SQL-Tutorial enthält Erläuterungen und Beispiele für die NVL-Funktion in Oracle
Was ist die NVL()-Funktion in Oracle
Die NVL-Funktion in Oracle ist eine Verschachtelungsfunktion, die verwendet wird, um Nullwerte durch bestimmte Werte zu ersetzen
In der obigen Syntax
Ausdruck1 :Es sind die Quellwerte oder der Ausdruck, die Null enthalten können. Sie können einen Spaltennamen und eine Funktion für den Spaltennamen angeben
expr2:Dies ist der Zielwert, der platziert wird, falls null von expr1 zurückgegeben wird
Wenn expr1 null ist, gibt NVL expr2 zurück. Wenn expr1 nicht null ist, gibt NVL expr1 zurück.
Wichtige Hinweise
(1) Die Argumente expr1 und expr2 können einen beliebigen Datentyp haben. Wenn ihre Datentypen unterschiedlich sind, konvertiert Oracle Database implizit einen in den anderen. Wenn sie nicht implizit konvertiert werden können, gibt die Datenbank einen Fehler zurück.
Wenn expr1 Zeichendaten sind, konvertiert Oracle Database expr2 in den Datentyp von expr1, bevor sie sie vergleichen, und gibt VARCHAR2 im Zeichensatz von expr1 zurück.
Wenn expr1 numerisch ist, bestimmt Oracle, welches Argument den höchsten numerischen Vorrang hat, wandelt das andere Argument implizit in diesen Datentyp um und gibt diesen Datentyp zurück.
Also würde folgende Anweisung gelingen
select nvl(num-col ,10) from
select nvl(char-col ,'NA') from select nvl(end_date,'01-MAY-18') from
Die folgende Anweisung würde eine implizite Konvertierung durchführen
select nvl(char-col ,1) from
Die folgende Anweisung würde fehlschlagen
select nvl(end_date,'m/a') from
select nvl(user_id,'abc') from Verwendung der NVL()-Funktion
Diese Funktion ist sehr nützlich, wenn wir keine Nullwerte zurückgeben möchten oder in der numerischen Berechnung, da Null ganze Werte in Null umwandeln würde
Lass uns Nehmen Sie ein Beispiel, um es zu verstehen
Wir haben eine sales_people-Tabelle, die die von Verkäufern getätigten Verkäufe, Provisionsprozentsätze auf die Verkäufe und das Gehalt der Leute enthält. Wir wollen die monatlichen Gesamteinnahmen der Verkäufer berechnen. Verkäufe können Nullwerte haben
Aussage wäre
select name,(salary + sales*provision/100) Monthy_income from sales_people;
Es werden Nullwerte für alle Personen zurückgegeben, die in diesem Zeitraum keine Verkäufe getätigt haben, da die Berechnung Nullwerte hat
Dies kann durch die Verwendung der nvl-Funktion als
behoben werden select name,(salary + nvl(sales,0)*provision/100) Monthly_income from sales_people;
Es ist also eindeutig sehr hilfreich bei mathematischen Operationen. Die NVL-Funktion in Oracle ist eine ziemlich nützliche Funktion und kann an vielen Stellen verwendet werden
Liest auch
Oracle-SQL-Datumsfunktionen
NULLIF-Funktion in Oracle
Aktualisierungsanweisung in Oracle
Coalesce-Funktion in Oracle
Änderung des Datumsformats in Oracle
https://docs .oracle.com/cd/B19306_01/server.102/b14200/functions105.htm