CASE (simple)
La función CASE simple devuelve un resultado basado en el valor de una sola expresión de entrada o un resultado predeterminado si no coincide ninguno de los valores de comparación.
Consulta también IF.
Ejemplo de uso
Reemplaza los códigos de pago por nombres intuitivos:
CASE Payment Type
WHEN "CC" THEN "Credit Card"
WHEN "DC" THEN "Debit Card"
WHEN "GC" THEN "Gift Card"
WHEN "CA" THEN "Cash"
ELSE "Other"
END
Sintaxis
CASE input_expression
WHEN expression_to_match THEN result
[WHEN expression_to_match THEN result]
[...]
[ELSE else_result]
END
Parámetros
input_expression: Cualquier campo o expresión válidos.- [
expression_to_match: Cualquier campo o expresión válidos. La cláusulaWHENcomparainput_expressionconinput_expressiony devuelve verdadero si los dos son iguales, o falso si no lo son.]{#when-conditions} result: Cualquier campo o expresión válidos. Cada cláusulaWHENdebe tener una cláusulaTHENcoincidente, que especifica los resultados que se devolverán si esa condición es verdadera. Si hay varias cláusulasWHEN, la instrucciónCASEdevuelve el resultado de la primera cláusula verdadera.else_result(opcional): Cualquier campo o expresión válidos. La cláusulaELSEelse_result especifica un resultado predeterminado para la declaraciónCASE. Esta cláusula se devuelve si ninguna de las cláusulasWHENes verdadera. Si una instrucciónCASEno tiene una cláusulaELSEy ninguna de las cláusulasWHENes verdadera, la instrucciónCASEdevuelveNULL.
Cómo funciona la CASE simple
Una instrucción CASE simple consta de los siguientes elementos:
- La palabra clave
CASE, seguida de una expresión de entrada. WHEN: Es el valor con el que se compara elinput_expression. Si el valor es igual alinput_expression, esta cláusula es verdadera. Puedes tener varias cláusulasWHENen una sola instrucciónCASE.THEN: Es el resultado que se devolverá si la condición de la cláusulaWHENes verdadera. Debes tener una cláusulaTHENpara cada cláusulaWHENen tu instrucciónCASE.ELSE: Opcional. Si ninguna de las condiciones de la cláusulaWHENes verdadera,CASEdevuelve el valor de la cláusulaELSEoNULLsi no se especifica ninguna cláusulaELSE.- Palabra clave
END.
CASE evalúa cada cláusula WHEN sucesiva y muestra el primer resultado en el que la condición sea verdadera. Las cláusulas WHEN restantes y el resultado de ELSE no se evalúan. Si todas las condiciones WHEN son falsas o NULL, CASE devuelve el resultado ELSE o, si no hay ninguna cláusula ELSE, devuelve NULL.
Ejemplo
Proporciona vínculos personalizados a tus clientes premium:
CASE Premium Status
WHEN "Platinum" THEN CONCAT(Site URL, "platinum_welcome.html")
WHEN "Gold" THEN CONCAT(Site URL, "gold_welcome.html")
WHEN "Silver" THEN CONCAT(Site URL, "silver_welcome.html")
ELSE CONCAT(Site URL, "welcome.html")
END