Extrair mes do campo data para relacionar aniversariantes

Delphi

26/02/2004

Saudações pessoal

Gostaria que alguem me orientasse sobre como faco um qry para extrair o mes de um campo data e relacionar todos os aniversariantes do mes
eu fiz assim

SELECT * FROM TBBUS WHERE EXTRACT(´MONTH MES FROM DAT_NASC) MES:=A

IF QRY = 0 then
ShowMessage(´ registro não encotrado !´)

PARAMETRO IRÁ RECEBER O VALOR DO MES EM UM EDIT OU A DATA EM UM MASKEDIT ?

Alguem ja fez isso ? ta dando erro o codigo ta errado ai so q no codigo que usei no projeto ta certo n retorna nada cai na mensagem de registro não encontrado que coloquei ?

ja fiz o teste de digitar 02 or 2 e deu pau na encontra como devo fazer..?


Jonasaf

Jonasaf

Curtidas 0

Respostas

Logado

Logado

26/02/2004

teu select ta certo... naum to podend ajudar muito pq o teclado do meu notebook naum ta bom

mas o valor do mes deve vir entre aspas duplas

e ta meio dificil de ajudar com eessse teclao


GOSTEI 0
Ariovaldo

Ariovaldo

26/02/2004

Faço este procedimento com este SQL Abaixo, coloquei na tela dois componente de Calendário do Delphi mesmo para o usuário escolher o período que ele quer, apesar de mostrar o ano a rotina ignora o ano



procedure TFormCadCliente.BtnConsultarDataClick(Sender: TObject);
Var
d,e: TDatetime;
anoinicio,diainicio,mesinicio:word;
anofinal,diafinal,mesfinal:word;
begin
If DataInicial.DateTime > dataFinal.DateTime Then
begin
Mensagem.showmessage(´Data Inicial é Maior que a data Final´);
End
Else
Begin
d:=datainicial.DateTime;
DecodeDate(d, anoinicio, mesinicio, diainicio);

e:=dataFinal.DateTime;
DecodeDate(e, anofinal, mesfinal, diafinal);

DmPrincipal.Qry_ClienteNac.Close;
DmPrincipal.Qry_ClienteNac.SQL.Clear;
DmPrincipal.Qry_ClienteNac.sql.Add(´Select * From clientes´);
DmPrincipal.Qry_ClienteNac.sql.Add(´Where Str_Nacint = ´´1´´´);
DmPrincipal.Qry_ClienteNac.sql.Add(´And(extract(month from DT_DataFundacao) between :mes_inicial and :mes_final)´);
DmPrincipal.Qry_ClienteNac.sql.Add(´and´);
DmPrincipal.Qry_ClienteNac.sql.Add(´(extract(day from DT_DataFundacao) between :dia_inicial and :dia_final)´);
DmPrincipal.Qry_ClienteNac.ParamByName(´Mes_Inicial´).Value := mesinicio;
DmPrincipal.Qry_ClienteNac.ParamByName(´Mes_Final´).Value := mesfinal;
DmPrincipal.Qry_ClienteNac.ParamByName(´Dia_Inicial´).Value := diainicio;
DmPrincipal.Qry_ClienteNac.ParamByName(´Dia_Final´).Value := DiaFinal;
DmPrincipal.Qry_ClienteNac.Open;
End;
end;


GOSTEI 0
POSTAR