Villkorsfunktioner

Villkorsfunktioner

Beskrivning

Exempel

CASE WHEN

Enkelt CASE-format

Jämför värdet för indata_exp med värdena för argumenten värde_exp för att fastställa resultatet.

CASE indata_exp
{WHEN värde_exp THEN resultat...} [ELSE resultat]
END
Kopiera
SELECT 
   Faktura_ID, 
   CASE företagsnamn
      WHEN 'UK-exporter' THEN 'Hittade UK-exporter'
      WHEN 'Leverantörer av heminredning' THEN 'Hittade leverantörer av heminredning'
      ELSE 'Varken UK-exporter eller Leverantörer av heminredning' 
      END,
   Försäljar_ID
FROM 
   Säljdata

Sökt CASE-format

Returnerar ett resultat utifrån om villkoret som anges av en WHEN-sats är sant.

CASE 
{WHEN >logiskt_uttr THEN resultat...} [ELSE resultat]
END
Kopiera
SELECT 
   Faktura_ID, 
   Summa,
   CASE 
      WHEN Summa > 3000 THEN 'Över 3000'
      WHEN Summa < 1000 THEN 'Under 3000'
   ELSE 'Mellan 1000 och 3000' 
   END,
   Försäljar_ID
FROM 
   Säljdata

COALESCE

Returnerar det första värdet som inte är NULL.

Kopiera
SELECT
   Försäljar_ID,
   COALESCE(Försäljnings_Chef, Försäljare)
FROM
   Säljare

NULLIF

Jämför två värden och returnerar NULL om de två värdena är lika. Annars returneras det första värdet.

Kopiera
SELECT
   Faktura_ID,
   NULLIF(Summa,  -1),
   Försäljar_ID
FROM
   Säljdata