

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# NVL2 Funktion
<a name="NVL2"></a>

Gibt einen von zwei Werten aus, je nachdem, ob ein angegebener Ausdruck zu NULL oder zu NOT NULL aufgelöst wird.

## Syntax
<a name="NVL2-synopsis"></a>

```
NVL2 ( expression, not_null_return_value, null_return_value )
```

## Argumente
<a name="NVL2-arguments"></a>

 *expression*   
Ein Ausdruck (beispielsweise ein Spaltenname), der hinsichtlich des Null-Status ausgewertet werden soll.

 *not\$1null\$1return\$1value*   
Der Wert, der zurückgegeben wird, wenn *expression* zu NOT NULL ausgewertet wird. Der Wert *not\$1null\$1return\$1value* muss entweder denselben Datentyp wie *expression* haben oder implizit in diesen Datentyp konvertiert werden können.

 *null\$1return\$1value*   
Der Wert, der zurückgegeben wird, wenn *expression* zu NULL ausgewertet wird. Der Wert *null\$1return\$1value* muss entweder denselben Datentyp wie *expression* haben oder implizit in diesen Datentyp konvertiert werden können.

## Rückgabetyp
<a name="NVL2-return-type"></a>

Der NVL2 Rückgabetyp wird wie folgt bestimmt:
+ Wenn *not\$1null\$1return\$1value* oder *null\$1return\$1value* null ist, wird der Datentyp des Nicht-Null-Ausdrucks zurückgegeben.

Wenn sowohl *not\$1null\$1return\$1value* als auch *null\$1return\$1value* nicht null sind:
+ Wenn *not\$1null\$1return\$1value* und *null\$1return\$1value* denselben Datentyp haben, wird dieser Datentyp zurückgegeben.
+ Wenn *not\$1null\$1return\$1value* und *null\$1return\$1value* unterschiedliche numerische Datentypen haben, wird der kleinste kompatible numerische Datentyp zurückgegeben.
+ Wenn *not\$1null\$1return\$1value* und *null\$1return\$1value* unterschiedliche Datum-/Uhrzeit-Datentypen haben, wird ein Zeitstempeldatentyp zurückgegeben.
+ Wenn *not\$1null\$1return\$1value* und *null\$1return\$1value* unterschiedliche Zeichendatentypen haben, wird der Datentyp von *not\$1null\$1return\$1value* zurückgegeben.
+ Wenn *not\$1null\$1return\$1value* und *null\$1return\$1value* gemischte numerische und nicht numerische Datentypen haben, wird der Datentyp von *not\$1null\$1return\$1value* zurückgegeben.

**Wichtig**  
In den letzten beiden Fällen, in denen der Datentyp von *not\$1null\$1return\$1value* zurückgegeben wird, wird *null\$1return\$1value* implizit in diesen Datentyp umgewandelt. Wenn die Datentypen nicht kompatibel sind, schlägt die Funktion fehl.

## Nutzungshinweise
<a name="nvl2-usage-notes"></a>

*Denn NVL2 die Rückgabe hat entweder den Wert des Parameters *not\$1null\$1return\$1value oder null\$1return\$1value, je nachdem, welcher Wert* von der Funktion ausgewählt wurde, hat aber den Datentyp *not\$1null\$1return\$1value*.*

Wenn beispielsweise column1 NULL ist, geben die folgenden Abfragen denselben Wert zurück. Der DECODE-Rückgabewert-Datentyp ist jedoch NVL2 INTEGER und der Rückgabewert-Datentyp VARCHAR.

```
select decode(column1, null, 1234, '2345');
select nvl2(column1, '2345', 1234);
```

## Beispiel
<a name="NVL2-examples"></a>

Im folgenden Beispiel werden einige Beispieldaten modifiziert und anschließend zwei Felder ausgewertet, um die richtigen Kontaktinformationen für Benutzer bereitzustellen: 

```
update users set email = null where firstname = 'Aphrodite' and lastname = 'Acevedo';

select (firstname + ' ' + lastname) as name, 
nvl2(email, email, phone) AS contact_info
from users 
where state = 'WA'
and lastname  like 'A%'
order by lastname, firstname;

name			     contact_info	
--------------------+-------------------------------------------
Aphrodite Acevedo	(555) 555-0100
Caldwell Acevedo 	Nunc.sollicitudin@example.ca
Quinn Adams		   vel@example.com
Kamal Aguilar		 quis@example.com
Samson Alexander	 hendrerit.neque@example.com
Hall Alford		   ac.mattis@example.com
Lane Allen		    et.netus@example.com
Xander Allison	   ac.facilisis.facilisis@example.com
Amaya Alvarado	   dui.nec.tempus@example.com
Vera Alvarez		  at.arcu.Vestibulum@example.com
Yetta Anthony		 enim.sit@example.com
Violet Arnold		 ad.litora@example.comm
August Ashley		 consectetuer.euismod@example.com
Karyn Austin		  ipsum.primis.in@example.com
Lucas Ayers		   at@example.com
```