quarta-feira, 22 de fevereiro de 2012

Aniversariantes do Mês no PostgreSQL

Salve salve papeiros.

Buscando documentar situações do dia a dia dos usuários do PostgreSQL, hoje vou demonstrar como listar os aniversariantes do mês.

Nosso primeiro passo será a criação da tabela, aqui representada pela tabela aniversariantes.

A tabela é para simples formalização do post, sendo que você poderá aplicar a SQL a ser apresentada na sua tabela de clientes, fornecedores e afins.

A estrutura da tabela:
 CREATE TABLE paposql.aniversariantes  
 (  
   id_aniversariante bigint,   
   nome character(50),   
   dt_nascimento date  
 )   
 WITH (  
  OIDS = FALSE  
 );  

Inserindo os registros:
 Insert Into paposql.aniversariantes(id_aniversariante,nome,dt_nascimento)  
 Values(1,'Aniversariante 1','2012-01-01')  
 ,(2,'Aniversariante 2','2012-02-01')  
 ,(3,'Aniversariante 3','2012-03-01')  
 ,(4,'Aniversariante 4','2012-04-01')  
 ,(5,'Aniversariante 5','2012-05-01')  
 ,(6,'Aniversariante 6','2012-06-01')  
 ,(7,'Aniversariante 7','2012-07-01')  
 ,(8,'Aniversariante 8','2012-08-01')  
 ,(9,'Aniversariante 9','2012-09-01')  
 ,(10,'Aniversariante 10','2012-10-01')  
 ,(11,'Aniversariante 11','2012-11-01')  
 ,(12,'Aniversariante 12','2012-12-01')  

Com a tabela criada e alimentada, vamos extrair os aniversariantes do mês:
 Select *   
  From paposql.aniversariantes  
  Where Extract(Month From dt_nascimento) = Extract(Month From Now())  

Pronto, a consulta retorna o aniversariante do mês atual, isto porque na cláusula where determino que o mês da data de aniversario deve ser igual ao mês da minha data atual.

Com a função listamos os aniversariantes, agora se além disto você deseja saber a idade, veja este outro post.

Fico por aqui, esperando mais uma vez ter sido útil, um grande abraço e até a próxima.

_ _
Fabiano Abreu

Clique aqui e veja todas as matérias sobre PostgreSQL

Um comentário: