Utilizando a cláusula Case em um Select - SQL Server

Foto retirada http://www.pinterest.com/pin/113927065544167066/
Foto retirada http://www.pinterest.com/pin/113927065544167066/

Informática

29/09/2008

Por: Sueli Mitie Joboji

Neste artigo veremos como utilizar a cláusula Case dentro de um select (comando para a consulta de dados).

Suponha que exista em sua aplicação, a tabela Pedidos. Esta tabela possui os seguintes campos: id, data da compra, forma de pagamento e o valor. O campo forma de pagamento (forma_pagamento) pode assumir os seguintes valores: 1 (boleto bancário), 2 (cartão de crédito VISA) ou 3 (cartão de crédito MASTERCARD).

Pedidos

id

data

forma_pagamento

valor

1

12/09/2008

1

108,00

2

17/09/2008

2

52,00

3

18/09/2008

3

328,00

 
Para consultar as formas de pagamento cadastradas:

 SELECT id, nome from Forma_Pagamento

 Se quiséssemos mostrar o nome da forma de pagamento escolhida, poderíamos fazer da seguinte forma:

            if forma_pagamento = 1 then
                    nome_forma_pagamento = “Boleto Bancário”
            elseif forma_pagamento = 2 then
                    nome_forma_pagamento = “Cartão de Crédito VISA”
            else
                    nome_forma_pagamento = “Cartão de Crédito MASTERCARD”
            end if

Mas em vez disso, podemos utilizar o comando CASE dentro do Select. Veja:

 SELECT id,
  CASE
id
    when 1 then
'Boleto Bancário'  
    when 2 then 'Cartão de Crédito VISA'
    when 3 then 'Cartão de Crédito MASTERCARD'
end
as nome
FROM
forma_pagamento

Suponhamos agora, que exista a tabela Clientes. Para saber se o cliente cadastrado é uma pessoa física ou jurídica basta olhar para o campo ‘pessoa_fisica’. Se este campo estiver setado, imprimimos “Pessoa Física”, caso contrário, “Pessoa Jurídica”:

SELECT id,nome,
CASE

    when pessoa_fisica is not null then 'Pessoa Física'
    else 'Pessoa Jurídica'
END
as tipo_pessoa
FROM
clientes

Esta apresentação reflete a opinião pessoal do autor sobre o tema, podendo não refletir a posição oficial do Portal Educação.


Colunista Portal - Educação

por Colunista Portal - Educação

O Portal Educação possui uma equipe focada no trabalho de curadoria de conteúdo. Artigos em diversas áreas do conhecimento são produzidos e disponibilizados para profissionais, acadêmicos e interessados em adquirir conhecimento qualificado. O departamento de Conteúdo e Comunicação leva ao leitor informações de alto nível, recebidas e publicadas de colunistas externos e internos.

Portal Educação

UOL CURSOS TECNOLOGIA EDUCACIONAL LTDA, com sede na cidade de São Paulo, SP, na Alameda Barão de Limeira, 425, 7º andar - Santa Cecília CEP 01202-001 CNPJ: 17.543.049/0001-93