Mostrando postagens com marcador cláusula. Mostrar todas as postagens
Mostrando postagens com marcador cláusula. Mostrar todas as postagens

sexta-feira, 16 de agosto de 2013

Utilizar o Clausula Case no Firebird

Introdução

O principal objetivo deste post é explicar como se faz  a utilização da cláusula CASE no Firebird.

Montando ambiente de teste

Para testarmos neste post iremos criar uma tela simples chamada PESSOA que guarda algumas informações
pertinentes a uma determinada pessoa (DATA_NASCIMENTO, nome, numero de filhos)

CREATE TABLE PESSOAS
(
    PES_ID INTEGER PRIMARY KEY,
    PES_DATA_NASCIMENTO DATE,
    PES_NUMERO_FILHOS INT,
    PES_NOME VARCHAR(48)
);



Após criar uma tabela será necessário popula-la.

INSERT INTO PESSOAS VALUES(1,'1988-12-31',3,'MARCOS');
INSERT INTO PESSOAS VALUES(2,'1982-03-31',5,'MARIO');
INSERT INTO PESSOAS VALUES(3,'1997-10-3',4,'JULHO');
INSERT INTO PESSOAS VALUES(4,'1991-11-12',2,'ROBERTO');
INSERT INTO PESSOAS VALUES(5,'1989-12-15',1,'FERNANDO');






Figura 1: Tabela PESSOAS bem com seu conteúdo.

 

Utilizando o comando CASE


A sintaxe do comando é bem simples basta seguir a sintaxe abaixo:

SELECT 
CASE
 CAMPO_TESTADO
WHEN SITUACAO_1 THEN
 RESPOSTA_1
WHEN SITUACAO_2 THEN
 REPOSTA_2
ELSE  RESPOTA_N
END


FROM
 TABELA


Onde.

  • CAMPO_TESTADO - Campo a ser testado.
  • RESPOSTA_1 até REPOSTA_N - Possíveis resultados da expressão testada.
  • TABELA - Tabela a ser utilizada.


Exemplo

Vou criar uma query na qual a expressão "Tem filho único" é expressada quando o indivíduo tem um único filho e "Tem mais de um filho", quando o indivíduo tem mais de um filho.


SELECT
 CASE
  pes_numero_filhos
 WHEN 1  THEN
      'Tem filho único'
 ELSE
      'Tem mais de um filho'
 end  AS SITUACAO_FILHO
 ,pes_nome
FROM PESSOAS




Figura 2: Resultado da execução da query.


Conclusão


Como foi possível ver ao longo do post a utilização da Cláusula CASE no firebird é bem simples. Para este post foi utilizada a versão 2.5 do firebird.