Fórum SQL para saber aniversariantes #287591

11/07/2005

0

Quais os comando SQL para saber os aniversariantes entre duas datas ?
Lembrando que do periodo de dadas informado só posso considerar dia e mes . Exemplo aniversariantes de 15/06 a 10/07 .


Reginaldo174

Reginaldo174

Responder

Posts

11/07/2005

Marcusbraga

não sei qual BD voce usa mas no firebird isso funciona

declare essas variaveis como string
valdata, dia, mes
valdata1, dia1, mes1


valdada :=FormatDateTime(´dd,mm,yyyy´, datainicial);
dia:= copy(valdata1, 1,2);
mes:= copy(valdata1, 4, 2);

valdata1:= FormatDateTime(´dd,mm,yyyy´,Datafinal);
dia1:= copy(valdata1, 1,2);
mes1:= copy(valdata1, 4, 2);

´ Select * From Cliente where extract(Month From Cliente.Datanasc)>= ´ + #39 + mes + 39 +´ and extract(Day From Cliente.Datanasc) >= ´ + 39 + dia + 39 + ´ and extract(Month From Cliente.Datanasc)<= ´ + 39 + mes1 + 39 +´ and extract(Day From Cliente.Datanasc) <= ´ + 39 + dia1 + 39) ;


Responder

Gostei + 0

11/07/2005

Pablobr

Vale lembrar que não é preciso ficar colocando aspas simples (#39), basta usar a função QuotedStr do Delphi.

Exemplo:

SQL := ´SELECT * FROM TABELA1 WHERE NOME = ´+QuotedStr(Nome);


Responder

Gostei + 0

11/07/2005

Reginaldo174

Valeu amigos ! O banco de dados é firebird e tratei como segue

select * from alunos
WHERE ((EXTRACT(MONTH FROM alu_nascim) = 8) AND (EXTRACT(DAY FROM alu_nascim) between 10 and 30))
union
select * from alunos
WHERE ((EXTRACT(MONTH FROM alu_nascim) = 9) AND (EXTRACT(DAY FROM alu_nascim) between 1 and 10))


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar