Fórum formato de data no Interbase #225349

12/04/2004

0

[color=red:454b524a24][b:454b524a24]Estou utilizando Interbase, preciso fazer um select com uma variavel DATA que esta no formato DD/MM/AAAA, porem se faço SELECT utilizando Select * from TABELA where data = ´variavel´, ele nao encontra, pois para ser assim, ou minha variavel tem q estar em MM/DD/AAAA ou DD.MM.AAAA.
Como faço para resolver isso, ja que minha variavel, nao vem em nenhum desses dois formatos?

Obrigado,

Beto[/b:454b524a24][/color:454b524a24]


Splash

Splash

Responder

Posts

12/04/2004

Weber

Se a variavel for do tipo Date
SELECT utilizando Select * from TABELA where data = ´FormatDateTime(´mm/dd/yyyy´,variavel)´;

Se a variavel for do tipo String
SELECT utilizando Select * from TABELA where data = ´FormatDateTime(´mm/dd/yyyy´,StrToDate(variavel))´;

Importante:
Você deve passar a data entre ´

Veja esse exemplo:
 Query1.Clear;
query1.SQL.Add(´Select * from TABELA where data = ´+´´´´+FormatDateTime(´mm/dd/yyyy´,variavel)+´´´´);



Responder

Gostei + 0

12/04/2004

Denis

Existem vários pontos na sua pergunta.

A data pode estar com o tipo timestamp, então vc terá que fazer algo assim.

... where data >= ´01/01/2004´ and data < ´01/02/2004´

isto porque existe as horas embutidas na data.

A data para o Iterbase está no formato mm/dd/yyyy . Para passar esta data, vc pode passar para a query como parametro ( que não é necessário se preocupar com o formato ), ou caso esteja montando um string pode usar a função formatdatetime(´mm/dd/yyyy´,data).

Acho que já dá para ter uma idéia, mas não sei se esclareci o seu problema.


Responder

Gostei + 0

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

Aceitar