Cuando ingresas tu consulta en el Editor SQL o creas un cálculo, utilizas la Sintaxis Presto SQL. Para devolver valores en función de si se cumplen determinadas condiciones, puede que te resulten útiles estas expresiones comunes.
CASE
Para evaluar una lista de condiciones y devolver un valor basado en la primera coincidencia o condición verdadera, utiliza una expresión CASE, como para habilitar la lógica if/else. CASE tiene dos formatos:
- En su forma simple,
CASEevalúa la lista para una expresión específica y devuelve su valor, como por ejemplo:
CASE expresión WHEN valor THEN resultado [ WHEN ... ] [ ELSE resultado ] END
- En su forma buscada,
CASEevalúa una lista de booleanos y devuelve el valor de la primera condiciónTRUE, como por ejemplo:
CASE WHEN condición THEN resultado [ WHEN ... ] [ ELSE resultado ] END
Por ejemplo, en su forma simple para devolver un valor («uno» o «dos») basado en una expresión coincidente:
SELECT expresión, CASE expresión WHEN 1 THEN 'uno' WHEN 2 THEN 'dos' ELSE 'muchos' END
Si no se cumple ninguna condición, CASE devuelve el valor de la cláusula ELSE («muchos», en este ejemplo), o NULL si no hay cláusula ELSE.
Nota: Para devolver un valor basado en si una única condición es verdadera, utiliza una sentencia IF.
FUSIONAR
Para devolver el primer valor no nulo de una lista, utiliza la expresión COALESCE como COALESCE(valor1, valor2, valor3).
SI
Para devolver un valor dependiendo de si una condición es verdadera o falsa, utiliza la sentencia IF como IF(condición, valor_verdadero, valor_falso).
Nota: Si la condición es falsa y no se especifica valor_falso, la sentencia IF devuelve NULL.
IS NULL o IS NOT NULL
Para comprobar si un valor está vacío o es NULL, utiliza el operador IS NULL o IS NOT NULL:
- Para comprobar si hay valores vacíos, utiliza
IS NULL. - Para comprobar valores no vacíos, utiliza
IS NOT NULL.
Por ejemplo, para comprobar los datos de los clientes que no tienen dirección:
SELECT Nombre_cliente, Nombre_contacto, Dirección
FROM Clientes
WHERE Dirección IS NULL
TRY
Para devolver NULL cuando una expresión falla debido a datos corruptos o inválidos, utiliza la expresión TRY como TRY(expresión). TRY gestiona estos errores:
- División por cero
-
CASTo argumento de función no válido - Valor numérico fuera de rango