CASE (simple)
La función CASE simple muestra un resultado basado en el valor de una sola expresión de entrada o un resultado predeterminado si ninguno de los valores de comparación coincide.
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: Es cualquier campo o expresión válidos.- [
expression_to_match: Es cualquier campo o expresión válidos. La cláusulaWHENcomparainput_expressionconinput_expressiony muestra verdadero si ambos son iguales o falso si no lo son.]{#when-conditions} result: Es cualquier campo o expresión válidos. Cada cláusulaWHENdebe tener una cláusulaTHENcoincidente, que especifica los resultados que se mostrarán si esa condición es verdadera. Si hay varias cláusulasWHEN, la instrucciónCASEmuestra el resultado de la primera cláusula verdadera.else_result(opcional): Es cualquier campo o expresión válidos. La cláusulaELSEelse_result especifica un resultado predeterminado para la instrucciónCASE. Esta cláusula se muestra si ninguna de las cláusulasWHENes verdadera. Si una instrucciónCASEno tiene una cláusulaELSEy ninguna de las cláusulasWHENes verdadera, la instrucciónCASEmuestraNULL.
Cómo funciona 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 comparainput_expression. Si el valor es igual ainput_expression, esta cláusula es verdadera. Puedes tener varias cláusulasWHENen una sola instrucciónCASE.THEN: Es el resultado que se mostrará si la condición de la cláusulaWHENes verdadera. Debes tener una cláusulaTHENpara cada cláusulaWHENen tu instrucciónCASE.ELSE: Es opcional. Si ninguna de las condiciones de la cláusulaWHENes verdadera,CASEmuestra el valor de la cláusulaELSEoNULLsi no se especifica ninguna cláusulaELSE.- La palabra clave
END.
CASE evalúa cada cláusula WHEN sucesiva y muestra el primer resultado en el que la condición es verdadera. Las cláusulas WHEN restantes y el resultado ELSE no se evalúan. Si todas las condiciones WHEN son falsas o NULL, CASE muestra el resultado ELSE o, si no hay ninguna cláusula ELSE, muestra NULL.
Ejemplo
Proporciona vínculos personalizados para 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