Menu
Coddy logo textTech

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 protegerse contra la división por cero:

SELECT total / NULLIF(count, 0) AS average
FROM stats

Si 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. Recurre a él cuando la elección sea binaria; recurre a CASE cuando haya más ramas.

challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • <strong>matches</strong>: <strong>id</strong>, <strong>shots</strong>, <strong>goals</strong>

Para cada partido devuelve:

  • id
  • conversion: goals * 1.0 / shots, pero NULL cuando shots es 0 (usa NULLIF)
  • verdict: 'win' cuando goals > 0, de lo contrario 'no goals' (usa IIF)

Ordena por id.

Hoja de referencia

NULLIF(a, b) devuelve NULL cuando a = b, de lo contrario devuelve a. Útil para evitar la división por cero:

SELECT total / NULLIF(count, 0) AS average
FROM stats

IIF(cond, a, b) es un atajo para un CASE de dos ramas:

SELECT IIF(goals > 0, 'win', 'no goals') AS verdict
FROM matches

Pruébalo tú mismo

SELECT id,
       -- conversión usando NULLIF
       -- veredicto usando IIF
FROM matches
ORDER BY id
quiz iconPonte a prueba

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