CASE (simple)

El 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: Cualquier campo o expresión válida.
  • [expression_to_match: Cualquier campo o expresión válida. La cláusula WHEN compara input_expression con input_expression y muestra verdadero si los dos son iguales o falso si no lo son.]{#when-conditions}
  • result : Cualquier campo o expresión válida. Cada cláusula WHEN debe tener una cláusula THEN coincidente, que especifique los resultados que se mostrarán si esa condición es verdadera. Si hay varias cláusulas WHEN, la sentencia CASE muestra el resultado de la primera cláusula verdadera.
  • else_result (opcional): Cualquier campo o expresión válidos. La cláusula else_result de ELSE especifica un resultado predeterminado para la sentencia CASE. Esta cláusula se muestra si ninguna de las cláusulas WHEN es verdadera. Si una sentencia CASE no tiene una cláusula ELSE y ninguna de las cláusulas WHEN es verdadera, la sentencia CASE muestra NULL.

Cómo funciona CASE

Una sentencia 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 sentencia 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 sentencia CASE.
  • ELSE : 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 una 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 sea 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 una 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