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áusulaWHEN
comparainput_expression
coninput_expression
y 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áusulaWHEN
debe tener una cláusulaTHEN
coincidente, que especifica los resultados que se devolverán si esa condición es verdadera. Si hay varias cláusulasWHEN
, la instrucciónCASE
devuelve el resultado de la primera cláusula verdadera.else_result
(opcional): Cualquier campo o expresión válidos. La cláusulaELSE
else_result especifica un resultado predeterminado para la declaraciónCASE
. Esta cláusula se devuelve si ninguna de las cláusulasWHEN
es verdadera. Si una instrucciónCASE
no tiene una cláusulaELSE
y ninguna de las cláusulasWHEN
es verdadera, la instrucciónCASE
devuelveNULL
.
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áusulasWHEN
en una sola instrucciónCASE
.THEN
: Es el resultado que se devolverá si la condición de la cláusulaWHEN
es verdadera. Debes tener una cláusulaTHEN
para cada cláusulaWHEN
en tu instrucciónCASE
.ELSE
: Opcional. Si ninguna de las condiciones de la cláusulaWHEN
es verdadera,CASE
devuelve el valor de la cláusulaELSE
oNULL
si 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