Imprimir      Abrir a versão em PDF da Ajuda on-line


Tópico anterior

Próximo tópico

Instruções Case

As instruções Case são a base para criar expressões condicionais que podem produzir resultados diferentes para valores de coluna diferentes.

Case (Switch)

Essa forma de instrução Case é também chamada de CASE (Lookup). O valor da expressão 1 é examinada, em seguida, as expressões WHEN. Se a expressão 1 corresponder a qualquer expressão WHEN, ela atribuirá o valor na expressão THEN correspondente.

Se a expressão 1 corresponder a uma expressão em mais de uma cláusula WHEN, apenas a expressão que segue a primeira correspondência será atribuída.

Se nenhuma das expressões WHEN corresponder, ela atribuirá o valor especificado na expressão ELSE. Se nenhuma expressão ELSE for especificada, ela atribuirá 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

Em que:

CASE

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

WHEN

Especifica a condição a ser satisfeita.

THEN

Especifica o valor a ser atribuído se a expressão WHEN correspondente for satisfeita.

ELSE

Especifica o valor a ser atribuído se nenhuma das condições WHEN for satisfeita. Se omitido, será assumido o ELSE NULL.

END

Termina a instrução CASE.

Exemplo

CASE Score-par

WHEN -5 THEN 'Birdie no Par 6'

WHEN -4 THEN 'É campeão'

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 devem refletir uma igualdade estrita; uma condição WHEN de

WHEN < 0 THEN 'Abaixo do par'

é ilegal, porque os operadores de comparação não são permitidos.

Case (If)

Essa forma de instrução Case avalia cada condição WHEN e, se satisfeita, atribui o valor da expressão THEN correspondente.

Se nenhuma das condições WHEN for satisfeita, ela atribuirá o valor padrão especificado na expressão ELSE. Se nenhuma expressão ELSE for especificada, ela atribuirá o valor NULL.

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

Sintaxe:

CASE

WHEN condição_exigida1 THEN expressão1

{WHEN condição_exigida2 THEN expressão2}

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

ELSE expressão

END

Em que:

CASE

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

WHEN

Especifica a condição a ser satisfeita.

THEN

Especifica o valor a ser atribuído se a expressão WHEN correspondente for satisfeita.

ELSE

Especifica o valor a ser atribuído se nenhuma das condições WHEN for satisfeita. Se omitido, será assumido o ELSE NULL.

END

Termina a instrução CASE.

Exemplo

CASE

WHEN score-par < 0 THEN 'Abaixo do par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogie'

WHEN score-par = 2 THEN 'Duplo Bogey'

ELSE 'Triplo Bogey ou pior'

END

Ao contrário da forma Switch da instrução CASE, as instruções WHEN na forma If permitem operações de comparação; uma condição WHEN de

WHEN < 0 THEN 'Abaixo do par'

é legal.


Publicado em Agosto de 2018 Copyright © 2005, 2018, Oracle. Todos os direitos reservados. Legal Notices.