CASE (SQL Server Compact)

Avalia uma lista de condições e retorna uma das várias expressões de resultados possíveis.

CASE tem dois formatos:

  • A função CASE simples compara uma expressão com um conjunto de expressões simples para determinar o resultado.

  • A função CASE pesquisada avalia um conjunto de expressões boolianas para determinar o resultado.

Os dois formatos aceitam um argumento ELSE opcional.

Sintaxe

CASE input_expression 
    WHEN when_expression THEN result_expression 
        [ ...n ] 
    [ 
        ELSE else_result_expression 
    ] 
END 

CASE
    WHEN Boolean_expression THEN result_expression 
        [ ...n ] 
    [ 
        ELSE else_result_expression 
    ] 
END

Argumentos

  • input_expression
    A expressão avaliada quando você usa o formato CASE simples. O argumento input_expression é qualquer expressão válida no Microsoft SQL Server Compact.

  • WHEN when_expression
    Uma expressão simples com a qual input_expression é comparado quando você usa o formato CASE simples. O argumento when_expression é qualquer expressão válida no SQL Server. Os tipos de dados de input_expression e cada when_expression devem ser do mesmo tipo ou ser implicitamente convertidos.

  • n
    Um espaço reservado indicando que podem ser usadas várias cláusulas WHEN when_expression THEN result_expression ou WHEN Boolean_expression THEN result_expression .

  • THEN result_expression
    A expressão retornada quando a input_expression igual à when_expression é avaliada como TRUE, ou a Boolean_expression é avaliada como TRUE. O argumento result_expression é qualquer expressão válida no SQL Server.

  • ELSE else_result_expression
    A expressão retornada se nenhuma operação de comparação for avaliada como TRUE. Se esse argumento for omitido e nenhuma operação de comparação for avaliada como TRUE, CASE retornará NULL. O argumento else_result_expression é qualquer expressão válida no SQL Server. Os tipos de dados de else_result_expression e qualquer result_expression devem ser iguais ou uma conversão implícita.

  • WHEN Boolean_expression
    A expressão booleana avaliada quando você usa o formato CASE pesquisado. Boolean_expression é qualquer expressão booleana válida.

Tipos de resultados

Retorna o tipo de precedência mais alta do conjunto de tipos em result_expressions e a else_result_expression opcional.

Exemplo

O exemplo a seguir retorna o modo de remessa usado para os pedidos efetuados.

SELECT [Ship Via], CASE [Ship Via]
    WHEN 1 THEN 'A.Datum'
    WHEN 2 THEN 'Contoso'
    WHEN 3 THEN 'Consolidated Messenger'
        ELSE 'Unknown'
        END
FROM Orders