NULLIF e IIF
Fa parte della sezione Oltre le basi del percorso SQL di Coddy. Lezione 4 di 27.
Altri due helper condizionali, entrambi piccoli e utili.
NULLIF(a, b) restituisce NULL quando a = b, altrimenti a. L'uso classico è evitare la divisione per zero:
SELECT total / NULLIF(count, 0) AS average
FROM statsSe count è zero, otteniamo NULL invece di un errore.
IIF(cond, a, b) è una scorciatoia a due rami per CASE WHEN cond THEN a ELSE b END. Usala quando la scelta è binaria; usa CASE quando ci sono più rami.
Sfida
FacileTabelle e colonne disponibili:
matches:id,shots,goals
Per ogni partita restituisci:
idconversion:goals * 1.0 / shots, maNULLquandoshotsè0(usaNULLIF)verdict:'win'quandogoals > 0, altrimenti'no goals'(usaIIF)
Ordina per id.
Provalo tu
SELECT id,
-- conversione usando NULLIF
-- verdetto usando IIF
FROM matches
ORDER BY id
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Oltre le basi
2Funzioni sulle stringhe
LENGTH, UPPER, LOWERSUBSTRINSTRREPLACE e TRIMConcatenare con ||Ripasso - Fatture3Aggregazione condizionale
COUNT con CASESUM con CASETrasformare le righe in colonneRiepilogo - Fonti di trafficoEsercitati da solo: Playground SQL