Consulta retornando vazia quando relaciono a data!

21/02/2016

0

Galera, boa tarde!

Preciso de uma ajuda bem urgente!

Utilizo o banco de dados da minha empresa e na Tabela que busco as informações tem uma "Data_Referencia" que está no formato "dia/mês/ano", "01/06/2011". Porém, quando utilizo o comando Where Data_Referencia = '01/06/2011' ela retorna vazia! já tentei Data_Referencia in ('01/06/2011'), já tentei sem as aspas e nada!

Me deem esse HELP!
Anderson Souza

Anderson Souza

Responder

Posts

21/02/2016

William

Se o formato é dd/mm/yyyy então imagino que esteja em VARCHAR, já vi casos em que a data estava gravada "1/6/2011" e a pesquisa era feita com "01/06/2011", como estamos comparando strings é claro que não bate.

Veja se não esse o seu caso!
Responder

21/02/2016

Crist

Olá, você não informou o formato do campo, se o mesmo é Date ou DateTime. Verificar também se as datas caso seja dateTime não tem a hora junto, geralmente ficam com zeros quando grava apenas data.
Segue um exemplo:



procedure TForm1.Button1Click(Sender: TObject);
var
FormatoDeDataGlobal, strSql :String;
begin

//formato da data para deteTime
FormatoDeDataGlobal := 'dd/mm/yyyy ' + ' 00:00:00.000';

strSql := ' SELECT * FROM TABELA WHERE Data_Referencia BETWEEN '
+ #39 + FormatDateTime(FormatoDeDataGlobal ,DateTimePicker1.DateTime) + #39 +
' AND ' + #39 + FormatDateTime(FormatoDeDataGlobal,DateTimePicker2.DateTime) ;


ADOQuery1.Close;
ADOQuery1.SQL.Clear;
//ADOQuery1.SQL.Add(strSql); //pode usar também desta forma
ADOQuery1.SQL.Text := strSql;

//colocar o conteudo da consulta no memo para que você possa testar no sql server é verificar
//se tem alguem erro no sql
Memo1.Lines.Add(strSql);

ADOQuery1.Open;


end;
Responder

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

Aceitar