Exemplo de uso CASE no MS Sql-Server

Para ilustrar o exemplo, suponha que temos um tabela chamada de grupo de viagem, e nesta temos dois grupos: Viagens Nacionais e Viagens Internacionais.

Agora seu chefe pediu pra vc mostrar isto no relatório apenas o texto “Nacional” para os grupos “Viagens Nacionais”
e “Internacional” para os grupos “Viagens Internacionais”. um replace na sua linguagem de costume já resolve ;-),  mas para ilustrar o uso doCASE” no
Sql-Server faremos da seguinte forma:

select
	g.DESCRICAO as textoOriginal,--o texto sem modificacao
	CASE --texto com tratamento para os casos
      WHEN g.DESCRICAO like '%internacionais'  THEN 'Internacional'
      WHEN g.DESCRICAO like '%nacionais'  THEN 'Nacional'
      else 'Não Encontrado'
	END as textoEnjambrado
	from GRUPO_VIAGEM g

	where g.DESCRICAO in ('Viagens Nacionais', 'Viagens Internacionais')

A instrução WHEN avalia a expressão “g.DESCRICAO like ‘%internacionais‘” no primeiro caso, e sendo satisfeita a condição imprime ‘Internacional‘ no retorno do registro.
Note também que é possível usar ELSE para quando nenhuma das condições anteriores seja satisfeitas.

resultado da query:

	--textoOriginal			|textoEnjambrado
	Viagens Nacionais		 Nacional
	Viagens Internacionais	 Internacional

Referência http://msdn.microsoft.com/pt-br/library/ms181765.aspx

Deixe um comentário

Arquivado em Banco de Dados, SQL

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s