Fórum Pesquisa Entre datas mysql #591972
24/03/2018
0
Boa Noite!
Alguém pode me ajudar com este código:
with dm.Sql_local do
begin
close;
sql.Clear;
sql.Add(''select * from tbl_local'');
sql.Add(''where data between :data_ini and :data_fim '');
sql.Add(''and comboio = "NAO"'');
ParamByName(''data_ini'').Value:=FormatDateTime(''yyyy-mm-dd'',data_ini.date);
ParamByName(''data_fim'').Value:=FormatDateTime(''yyyy-mm-dd'',data_fim.date);
open;
Não há nada de errado com ele, porém quando acrescento esta linha:
sql.Add(''or detalhe = "CAPOTAGEM"'');
A filtragem por data não ocorre.
Abaixo o código integral:
with dm.Sql_local do
begin
close;
sql.Clear;
sql.Add(''select * from tbl_local'');
sql.Add(''where data between :data_ini and :data_fim '');
sql.Add(''and comboio = "NAO"'');
sql.Add(''or detalhe = "CAPOTAGEM"'');
ParamByName(''data_ini'').Value:=FormatDateTime(''yyyy-mm-dd'',data_ini.date);
ParamByName(''data_fim'').Value:=FormatDateTime(''yyyy-mm-dd'',data_fim.date);
open;
Alguém pode me ajudar em dizer o Porquê, de não realizar a filtragem por data.
Alguém pode me ajudar com este código:
with dm.Sql_local do
begin
close;
sql.Clear;
sql.Add(''select * from tbl_local'');
sql.Add(''where data between :data_ini and :data_fim '');
sql.Add(''and comboio = "NAO"'');
ParamByName(''data_ini'').Value:=FormatDateTime(''yyyy-mm-dd'',data_ini.date);
ParamByName(''data_fim'').Value:=FormatDateTime(''yyyy-mm-dd'',data_fim.date);
open;
Não há nada de errado com ele, porém quando acrescento esta linha:
sql.Add(''or detalhe = "CAPOTAGEM"'');
A filtragem por data não ocorre.
Abaixo o código integral:
with dm.Sql_local do
begin
close;
sql.Clear;
sql.Add(''select * from tbl_local'');
sql.Add(''where data between :data_ini and :data_fim '');
sql.Add(''and comboio = "NAO"'');
sql.Add(''or detalhe = "CAPOTAGEM"'');
ParamByName(''data_ini'').Value:=FormatDateTime(''yyyy-mm-dd'',data_ini.date);
ParamByName(''data_fim'').Value:=FormatDateTime(''yyyy-mm-dd'',data_fim.date);
open;
Alguém pode me ajudar em dizer o Porquê, de não realizar a filtragem por data.
Adailso Cosme
Curtir tópico
+ 0
Responder
Post mais votado
25/03/2018
Olá Adailso, a sua condição OU refere-se somente a condição alternativa para o "Comboio" ou também para a data? Experimente colocar desta forma:
Separando entre parênteses as condições para que elas não se confundam entre si.
select * from tbl_local where (data between :data_ini and :data_fim) and (comboio = "NAO" OR detalhe = "CAPOTAGEM")
Separando entre parênteses as condições para que elas não se confundam entre si.
Jerson Boer
Responder
Gostei + 1
Mais Posts
25/03/2018
Adailso Cosme
Meu amigo!
Muito obrigado!
Você Salvou o meu projeto!
Deu tudo certo.
Nem o cara que me vendeu o curso soube me dizer o que fazer!
Tenho que fazer várias estatísticas de Saídas de Socorro do Quartel de Bombeiros do Rio de Janeiro e dependia dessa solução.]
Nota 10 pra vc.
Muito obrigado!
Você Salvou o meu projeto!
Deu tudo certo.
Nem o cara que me vendeu o curso soube me dizer o que fazer!
Tenho que fazer várias estatísticas de Saídas de Socorro do Quartel de Bombeiros do Rio de Janeiro e dependia dessa solução.]
Nota 10 pra vc.
Responder
Gostei + 0
25/03/2018
Jerson Boer
Que bom que a ajuda foi bem útil.. precisando de alguma ajuda só postar.. abraços
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)