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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar