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]
Como faço para resolver isso, ja que minha variavel, nao vem em nenhum desses dois formatos?
Obrigado,
Beto[/b:454b524a24][/color:454b524a24]
Splash
Curtir tópico
+ 0
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:
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.
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
Clique aqui para fazer login e interagir na Comunidade :)