Funktionen

Mit Funktionen können Sie über SQL auf angegebene Routinen zugreifen. Sie verarbeiten mindestens ein Argument und geben ein Ergebnis zurück. In der folgenden Tabelle werden die Funktionen beschrieben.
Tabelle 1. Funktionen
Ihren Namen Beschreibung
Fall Durchsuchter Ausdruck:
CASE
  WHEN <search-condition-1> THEN <result-1>
  WHEN <search-condition-2> THEN <result-2>
...
  WHEN <search-condition-n> THEN <result-n>
  ELSE <default-result>
END

Suchbedingungen können beliebig komplex sein und Ergebnisse können Ausdrücke sein.

Fall Wertform:
CASE <test-value>
  WHEN <comparand-value-1> THEN <result-1>
  WHEN <comparand-value-2> THEN <result-2>
...
  WHEN <comparand-value-n> THEN <result-n>
  ELSE <default-result>
END

Testwerte, Vergleichswerte und Ergebnisse können Ausdrücke sein.

cast (<Wert> as <Typ>) Ist für das Konvertieren von einem Datentyp in einen anderen Datentyp verfügbar. Weitere Informationen finden Sie unter Gussumwandlungen.
coalesce(Arg1, Arg2, …) Gibt das erste Argument ungleich null oder null zurück, wenn alle Argumente null sind. isnull ist ein Synonym für SQL Server-Kompatibilität.
date_part ('field', <Datums-/Zeitwert>) Ähnelt der extract-Funktion. Extrahiert ein numerisches Datums-/Uhrzeitfeld oder Zeitzonenfeld aus einem Datums-/Uhrzeitwert oder Intervallwert. Zum Beispiel: date_time('day', <Datumszeitwert>). Eine Liste der gültigen Argumente finden Sie unter Extrahieren von Datums- und Zeitwerten. Zur Syntax siehe Tabelle 1.
decode(<expr>, <search1>,<result1>, ...<Suche N>, <Ergebnis N>, <Standard>) Vergleicht <Ausdr> mit jedem Suchwert. Wenn <Ausdr> gleich der Suche, gibt decode das Ergebnis zurück. Wenn keine Übereinstimmung vorhanden ist, gibt decode den Standardwert zurück. Wurde kein Standardwert angegeben, wird null zurückgegeben.

Weitere Informationen finden Sie unter Beispiel dekodieren.

extract (Feld aus <Datums-/Zeitwert>) Extrahiert ein numerisches Datums-/Uhrzeitfeld oder Zeitzonenfeld aus einem Datums-/Uhrzeitwert oder Intervallwert. Zum Beispiel: extract(Jahr aus <Datenzeitwert>). Eine Liste der gültigen Argumente finden Sie unter Extrahieren von Datums- und Zeitwerten. Zur Syntax siehe Tabelle 1.
max(<Ausdruck>, <Ausdruck>, ...) Gibt den Maximalwert zurück, der in einer Gruppe von mindestens zwei Werten angegeben wird. Die Argumente müssen kompatibel sein und jedes Argument muss ein Ausdruck sein, der einen Wert eines beliebigen Typs zurückgibt. Das Ergebnis ist null, wenn eines der Argumente null ist.
Hinweis: Wenn Sie nur einen Ausdruck angeben, verwendet das System die Aggregatfunktion max(), um den Eingabewert zu verarbeiten. Siehe Aggregatfunktionen für eine Beschreibung der Aggregatfunktion.
min(<Ausdruck>, <Ausdruck>, ...) Gibt den Mindestwert zurück, der in einer Gruppe von mindestens zwei Werten angegeben wird. Die Argumente müssen kompatibel sein und jedes Argument muss ein Ausdruck sein, der einen Wert eines beliebigen Typs zurückgibt. Das Ergebnis ist null, wenn eines der Argumente null ist.
Hinweis: Wenn Sie nur einen Ausdruck angeben, verwendet das System die Aggregatfunktion min(), um den Eingabewert zu verarbeiten. Siehe Aggregatfunktionen für eine Beschreibung der Aggregatfunktion.
nullif(a,b) Gibt einen Nullwert zurück, wenn a=b, andernfalls wird a zurückgegeben.
nvl(x,y) Gibt das erste Argument zurück, wenn es nicht null ist. Andernfalls wird das zweite Argument zurückgegeben. Beispielsweise gibt nvl(Einstellungsdatum, aktuelles_Datum) das aktuelle Datum zurück, wenn das Einstellungsdatum null ist.

Die nvl-Funktion ist äquivalent zur coalesce-Funktion von SQL und ist eine Kurzform für den CASE-Ausdruck “case when x is not null then x else y end”. Weitere Informationen finden Sie unter NVL-Beispiel.

nvl2(x,y,z) Gibt das zweite Argument zurück, wenn das erste Argument nicht null ist. Andernfalls wird das dritte Argument zurückgegeben.

nvl2 ist eine Kurzform für den CASE-Ausdruck “case when x is not null then y else z end”. Weitere Informationen finden Sie unter NVL2.