Comparação de Datas em SQL

Delphi

15/07/2003

Oi,
Estou tendo problemas para fazer comparações com datas em SQL. Pois gostaria de pegar a linha que tenha a data entre X e Y. Eu coloquei assim:

SELECT Valor FROM Quadro WHERE (Data_Comp >= ´+aux+´ AND Data_Comp <= ´+aux2+´)

Onde aux e aux2 são variáveis do programa (String). Bom, está dando um erro de ´Type mismatch in expression´. Como faço esta comparação?
Agradeço desde já a ajuda,

Mitsuo Takaki


Mitsuo_takaki

Mitsuo_takaki

Curtidas 0

Respostas

Rjanuzzi

Rjanuzzi

15/07/2003

Olá Mitsuo,

O problema é que o SQL usa o formato mm/dd/yy, por isso não dá pra fazer uma comparação com uma variável string.
A saída é ou vc usar o formato mm/dd/yy nas suas strings, ou então usar a variável aux do tipo Tdate, que eu acho a melhor opção.

tipo assim:

var
aux1,aux2 : Tdate
begin
aux1 := strtodate(edit1.text);
aux2 := strtodate(edit2.text);
query1.sql.Clear;
query1.SQL.add(´select valor from quadro´);
query1.sql.add(´where data_comp >= :dt1 and data_comp <= :dt2´);
query1.ParamByName(´dt1´).AsDate := aux1;
query1.ParamByName(´dt2´).asdate := aux2;
query1.open;

Espero ter ajudado,

rjanuzzi


GOSTEI 0
Mitsuo_takaki

Mitsuo_takaki

15/07/2003

Oi rjanuzzi,
Muito obrigado pela ajuda, funcionou perfeito!! Eu já tinha tentando isso, mas ao invés de colocar .AsDate eu tinha colocado .Value. Muito obrigado mesmo,

Mitsuo Takaki


GOSTEI 0
POSTAR