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áusula WHEN compara input_expression con input_expression y 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áusula WHEN debe tener una cláusula THEN coincidente, que especifica los resultados que se mostrarán si esa condición es verdadera. Si hay varias cláusulas WHEN, la instrucción CASE muestra el resultado de la primera cláusula verdadera.
  • else_result (opcional): Es cualquier campo o expresión válidos. La cláusula ELSE else_result especifica un resultado predeterminado para la instrucción CASE. Esta cláusula se muestra si ninguna de las cláusulas WHEN es verdadera. Si una instrucción CASE no tiene una cláusula ELSE y ninguna de las cláusulas WHEN es verdadera, la instrucción CASE muestra NULL.

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 compara input_expression. Si el valor es igual a input_expression, esta cláusula es verdadera. Puedes tener varias cláusulas WHEN en una sola instrucción CASE.
  • THEN : Es el resultado que se mostrará si la condición de la cláusula WHEN es verdadera. Debes tener una cláusula THEN para cada cláusula WHEN en tu instrucción CASE.
  • ELSE : Es opcional. Si ninguna de las condiciones de la cláusula WHEN es verdadera, CASE muestra el valor de la cláusula ELSE o NULL si no se especifica ninguna cláusula ELSE.
  • 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