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:
            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
          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.
        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.
                        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