NULLIF et IIF
Fait partie de la section Au-delà des bases du Journey SQL de Coddy. Leçon 4 sur 27.
Deux autres assistants conditionnels, tous deux petits et utiles.
NULLIF(a, b) renvoie NULL lorsque a = b, sinon a. L’utilisation classique consiste à se prémunir contre la division par zéro :
SELECT total / NULLIF(count, 0) AS average
FROM statsSi count est égal à zéro, nous obtenons NULL au lieu d’une erreur.
IIF(cond, a, b) est un raccourci à deux branches pour CASE WHEN cond THEN a ELSE b END. Utilisez-le lorsque le choix est binaire ; utilisez CASE lorsqu’il y a davantage de branches.
Défi
FacileTables et colonnes disponibles :
matches:id,shots,goals
Pour chaque match, renvoyez :
idconversion:goals * 1.0 / shots, maisNULLlorsqueshotsvaut0(utilisezNULLIF)verdict:'win'lorsquegoals > 0, sinon'no goals'(utilisezIIF)
Triez par id.
Essayez vous-même
SELECT id,
-- conversion utilisant NULLIF
-- verdict utilisant IIF
FROM matches
ORDER BY id
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Au-delà des bases
1Logique conditionnelle
CASE WHENCASE dans ORDER BYCOALESCE pour les NULLNULLIF et IIFRécapitulatif - PrésenceEntraînez-vous par vous-même : Playground SQL