NULLIF e IIF
Parte de la sección Más allá de lo básico del Journey de SQL de Coddy. Lección 4 de 27.
Dos ayudantes condicionales más, ambos pequeños y útiles.
NULLIF(a, b) devuelve NULL cuando a = b; de lo contrario, devuelve a. El uso clásico es evitar la división entre cero:
SELECT total / NULLIF(count, 0) AS average
FROM statsSi count es cero, obtenemos NULL en lugar de un error.
IIF(cond, a, b) es un atajo de dos ramas para CASE WHEN cond THEN a ELSE b END. Úsalo cuando la elección sea binaria; recurre a CASE cuando haya más ramas.
Desafío
FácilTablas y columnas disponibles:
matches:id,shots,goals
Para cada partido, devuelve:
idconversion:goals * 1.0 / shots, peroNULLcuandoshotses0(usaNULLIF)verdict:'win'cuandogoals > 0; de lo contrario,'no goals'(usaIIF)
Ordena por id.
Pruébalo tú mismo
SELECT id,
-- conversión usando NULLIF
-- veredicto usando IIF
FROM matches
ORDER BY id
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Más allá de lo básico
1Lógica condicional
CASE WHENCASE en ORDER BYCOALESCE para valores NULLNULLIF e IIFRepaso - Asistencia2Funciones de cadenas
LENGTH, UPPER, LOWERSUBSTRINSTRREPLACE y TRIMConcatenar con ||Repaso - FacturasPractica por tu cuenta: Playground de SQL