Imprimir      Abrir versão PDF da ajuda online


Tópico anterior

Tópico seguinte

Instruções Case

As instruções Case são blocos de criação para criar expressões condicionais que podem produzir resultados diferentes para valores de colunas diferentes.

Case (Switch)

Este formato da instrução Case também é designado como formato CASE (Lookup). O valor da expressão1 é examinado, em seguida, as expressões WHEN. Se a expressão1 corresponder a qualquer expressão WHEN, o valor é atribuído na expressão THEN correspondente.

Se a expressão1 corresponder a uma expressão em mais do que uma cláusula WHEN, só é atribuída a expressão a seguir à primeira correspondência.

Se nenhuma das expressões WHEN tiver correspondência, é atribuído o valor especificado na expressão ELSE. Se não for especificada qualquer expressão ELSE, é atribuído o valor NULL.

Consulte também a instrução Case (If).

Sintaxe:

CASE expressão1

WHEN expressão THEN expressão

{WHEN expressão... THEN expressão...}

ELSE expressão

END

Onde:

CASE

Inicia a instrução CASE. Tem de ser seguido de uma expressão e uma ou mais instruções WHEN e THEN, uma instrução ELSE opcional e palavra-chave END.

WHEN

Especifica a condição a satisfazer.

THEN

Especifica o valor a atribuir se a expressão WHEN correspondente for satisfeita.

ELSE

Especifica o valor a atribuir se nenhuma das condições WHEN for satisfeita. Se a instrução for omitida, é assumida a instrução ELSE NULL.

END

Termina a instrução CASE.

Exemplo

CASE par-pontuação

WHEN -5 THEN 'Birdie no par 6'

WHEN -4 THEN 'Deve ser Tiger'

WHEN -3 THEN 'Três abaixo do par'

WHEN -2 THEN 'Dois abaixo do par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Duplo Bogey'

ELSE 'Triplo Bogey ou pior'

END

No exemplo acima, as instruções WHEN têm de reflectir uma qualidade exacta; a seguinte condição WHEN

WHEN < 0 THEN 'Abaixo do par'

é ilegal uma vez que os operadores de comparação não são permitidos.

Case (If)

Este formato da instrução Case devolve cada condição WHEN e se for satisfeita, atribui o valor na expressão THEN correspondente.

Se nenhuma das condições WHEN for satisfeita, atribui o valor predefinido especificado na expressão ELSE. Se nenhuma expressão ELSE for especificada, atribui o valor NULL.

Consulte também a instrução Case (Switch).

Sintaxe:

CASE

WHEN condição_pedido1 THEN expressão1

{WHEN condição_pedido2 THEN expressão2}

{WHEN condição_pedido... THEN expressão...}

ELSE expressão

END

Onde:

CASE

Inicia a instrução CASE. Tem de ser seguido de uma ou mais instruções WHEN e THEN, uma instrução ELSE opcional e a palavra-chave END.

WHEN

Especifica a condição a satisfazer.

THEN

O valor a atribuir se a expressão WHEN correspondente for satisfeita.

ELSE

Especifica o valor se nenhuma das condições WHEN for satisfeita. Se a instrução for omitida, é assumida a instrução ELSE NULL.

END

Termina a instrução CASE.

Exemplo

CASE

WHEN par-pontuação < 0 THEN 'Abaixo do par'

WHEN par-pontuação = 0 THEN 'Par'

WHEN par-pontuação = 1 THEN 'Bogie'

WHEN par-pontuação = 2 THEN 'Duplo Bogey'

ELSE 'Triplo Bogey ou pior'

END

Ao contrário do formato Switch da instrução CASE, as instruções WHEN no formato If permitem operadores de comparação; a seguinte condição WHEN

WHEN < 0 THEN 'Abaixo do par'

é legal.


Publicado em Setembro 2017 Copyright © 2005, 2017, Oracle. Todos os direitos reservados. Legal Notices.