Bedingte Funktion

Bedingte Funktion

Beschreibung

Beispiel

CASE WHEN

Einfaches CASE-Format

Vergleicht den Wert von eingabe_ausdr mit den Werten der Argumente von wert_ausdr, um das Ergebnis zu bestimmen.

CASE eingabe_ausdr
{WHEN wert_ausdr THEN ergebnis...} [ELSE ergebnis]
END
Kopieren
SELECT 
   Rechnungsnr, 
   CASE Firmenname
      WHEN 'Exportiert GB' THEN 'Exportiert GB gefunden'
      WHEN 'Hausmöbellieferanten' THEN 'Hausmöbellieferanten gefunden'
      ELSE 'Exportiert weder GB noch Hausmöbellieferanten' 
      END,
   Verkaeufernr
FROM 
   Vertriebsdaten

Gesuchtes CASE-Format

Gibt ein Ergebnis basierend darauf zurück, ob die in einem WHEN-Ausdruck angegebene Bedingung wahr ist.

CASE 
{WHEN >boolescher_ausdr THEN ergebnis...} [ELSE ergebnis]
END
Kopieren
SELECT 
   Rechnungsnr, 
   Betrag,
   CASE 
      WHEN Betrag > 3000 THEN 'Über 3000'
      WHEN Betrag < 1000 THEN 'Unter 1000'
   ELSE 'Zwischen 1000 und 3000' 
   END,
   Verkaeufernr
FROM 
   Vertriebsdaten

COALESCE

Gibt den ersten Wert zurück, der nicht NULL ist

Kopieren
SELECT
   Verkaeufernr,
   COALESCE(Vertriebsleiter, Verkaeufer)
FROM
   Verkäufer

NULLIF

Vergleicht zwei Werte und gibt NULL zurück, wenn die zwei Werte gleich sind; ansonsten gibt sie den ersten Wert zurück

Kopieren
SELECT
   Rechnungsnr,
   NULLIF(Betrag,  -1),
   Verkaeufernr
FROM
   Vertriebsdaten