Fórum Problemas com filtragem por data. #215687
20/02/2004
0
Tenho uma tabela de comissões de vendedores e preciso fazer o filtro pro data. Quando executo os seguintes comando:
[i:7f22198a6d]select * from com where codven = ´00001´ and (data >= ´01/03/2004´ and data <= ´31/03/2004´) [/i:7f22198a6d]
[b:7f22198a6d]ou [/b:7f22198a6d]
[i:7f22198a6d]select * from com where codven = ´00001´ and data between ´01/03/04´ and ´31/03/04´ [/i:7f22198a6d]
o resultado é o seguinte:
+-----------+--------+------------+-------------------+----+-------+------+--------+ | codcomiss | codven | data | descricao | dc | valor | perc | comiss | +-----------+--------+------------+-------------------+----+-------+------+--------+ | 000002 | 00001 | 02/02/2004 | teste de vendas 2 | c | 10000 | 3 | 300 | | 000003 | 00001 | 10/02/2004 | teste de vendas 3 | d | 1000 | 3 | 30 | | 000004 | 00001 | 01/03/2004 | teste de vendas 4 | c | 15000 | 3 | 450 | | 000001 | 00001 | 01/02/2004 | teste de vendas 1 | c | 15000 | 3 | 450 | +-----------+--------+------------+-------------------+----+-------+------+--------+
Porém o resultado deveria ser o seguinte:
+-----------+--------+------------+-------------------+----+-------+------+--------+ | codcomiss | codven | data | descricao | dc | valor | perc | comiss | +-----------+--------+------------+-------------------+----+-------+------+--------+ | 000004 | 00001 | 01/03/2004 | teste de vendas 4 | c | 15000 | 3 | 450 | +-----------+--------+------------+-------------------+----+-------+------+--------+
Gostaria que alguém me auxilia-se dizendo como posso fazer a filtragem por data nesta situação???
Valeu galera, Abraços.
Paulo.
Paulomerino
Curtir tópico
+ 0Posts
20/02/2004
Paulo_amorim
Estou apenas chutando, pois não sei se isso eh plausivel...
Mas o Banco nao poderia ser ´inteligente´ o suficiente pra interpretar a data?
qd voce digita 01/03/04, ele pode reconhecer como 3/1/2004 (forma americana)
entretanto, no caso de 31/03/04, ele nao pode fazer 3/31/2004, entao ele mantem....
Pode ser uma causa... :roll:
Até+
Gostei + 0
20/02/2004
Paulomerino
Eu já esperimentei todas as situações de formato possíveis e imagináveis e nenhuma funcionou.
Estou começando a acreditar que seja algum bug no banco instalado na minha máquina.
Gostei + 0
20/02/2004
Adilsond
select * from com where codven = ´00001´ and data >= :DataIni and data <= :DataFin
ou
select * from com where codven = ´00001´ and data between :DataIni and :DataFin
MinhaQuery.ParamByName(´DataIni´).AsDate := StrToDate(´01/03/2004´);
MinhaQuery.ParamByName(´DataFin´).AsDate := StrToDate(´31/03/2004´);
Gostei + 0
20/02/2004
Andrey
select * from com where codven = ´00001´ and (data >= to_date(´01/03/2004´,´dd/mm/yyyy´) and data <= to_date(´31/03/2004´,´dd/mm/yyyy´))
ou
select * from com where codven = ´00001´ and data between to_date(´01/03/04´,´dd/mm/yyyy´) and to_date(´31/03/04´,´dd/mm/yyyy´)
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)