consulta de datas via sq1l em tabela paradox

13/03/2013

1

Prezados,

Estou precisando de um relatorio em delphi 7, usando tabela PARADOX com um campo de data (DtNasc). Preciso selecionar neste relatorio os registros de um determinado mês (aniversariantes no mês "X"). Tenho pouco conhecimento em SQL. Por favor me ajudem. estou tentando a seguinte rotina que retorna erro:


Dtm_Secre.qMembros_o.Close;
Dtm_Secre.qMembros_o.Sql.Clear;
Dtm_Secre.qMembros_o.Sql.Add('Select EXTRACT(MONTH FROM DTNASC) = 3 from MEMBROS );
Dtm_Secre.qMembros_o.ExecSql;
Dtm_Secre.qMembros_o.Open;

Se possível, gostaria também de uma orientação em como ordenar este resultado pelo dia do mês.

obrigado

Gilberto Santana
Responder

Posts

13/03/2013

Evandro Sanz

Boa Tarde,

Pelo que entendi o sql ficaria assim sendo que DE E ATÉ são paramentros onde você ira digitar as datas

select campos_que _deseja from membros
where DTNASC BETWEEN :DE AND :ATE


Espero ter ajudado.
Responder
prezado, desta forma não me atende, pois teria que passar uma data inicial e uma final. Preciso que a consulta me retorne TODOS que estão dentro de um determinado mês, por exemplo: aniversariantes do mes de março. A resposta deverá contemplar todos os dias de todos os anos...

Responder

13/03/2013

Evandro Sanz

SELECT * FROM MEMBROS
where MONTH(DTNASC) = 12

No lugar do doze voce coloca o mês desejado!
Tente assim!
Responder
Tente assim:
with Queryx do
begin
  Close;
SQL.Clear;
SQL.Add('SELECT * FROM MEMBROS WHERE MONTH(DTNASC) = :nMES');
SQL.ParamByName('nMES').AsInteger := StrToInt(nMes.Text);
Open;
end;

É só uma idéia, substitua Queryx por seu componente de acesso, nMes.Text seria um Edit ou DBEdit, veja qual atende a sua necessidade.


Boa sorte e bons códigos!
Responder
Valeu sua orientação; muito obrigado.

Agora tenho outra pergunta,

Qual o operador devo utilizar numa consulta SQL para NÃO RETORNAR determinado titulo de um campo:

Tenhos vários cargos no campo CARGO entre eles "sem cargo". Quero filtrar para retornar todos os cargos, exceto "sem gargo".

Estou usando: "select * from MEMBROS where CarEcles <> "SEM CARGO" Order By NOME

´Ta retornando erro token >

Pode me ajudar?
Responder
Valeu sua orientação; muito obrigado.

Agora tenho outra pergunta,

Qual o operador devo utilizar numa consulta SQL para NÃO RETORNAR determinado titulo de um campo:

Tenhos vários cargos no campo CARGO entre eles "sem cargo". Quero filtrar para retornar todos os cargos, exceto "sem gargo".

Estou usando: "select * from MEMBROS where CarEcles <> "SEM CARGO" Order By NOME

´Ta retornando erro token >

Pode me ajudar?


Teste o código abaixo:
select * from MEMBROS where CarEcles != "SEM CARGO" Order By NOME


Boa sorte e bons códigos!
Responder
Muito obrigado novamente. funcionou perfeito.

Por oportuno, tem endereço de alguma apostila mais completa de SQL aplicado ao paradox para me passar?

Obrigado
Responder
Muito obrigado novamente. funcionou perfeito.

Por oportuno, tem endereço de alguma apostila mais completa de SQL aplicado ao paradox para me passar?

Obrigado


Infelizmente não, mas você pode encontrar muita coisa sobre SQL na NET.

Boa sorte e bons códigos!
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira