JM
Filtrar por data Between no adianti
Fechado
Olá pessoal! Estou fazendo um relatório que precisa me trazer por data e período. Por data consegui blz usando:
So que por período não esta dando certo informando a data inicio e fim. No banco esta no formato timestemp: 2014-07-31 19:52:47, estou usando o between não esta dando certo procurei varias maneiras mas até agora nada.
Ele chega a filtrar só que não traz todos os registros. No mysql mesmo direto no banco traz 4 registros só que no relatório em pdf só 3 informando a mesmos período.
Alguém poderia dar um help por favor.
- <?php
- $criteria->add(new TFilter("date_format(inscricao.datainscricao,'%Y-%m-%d')", '=', $data->datainscricao));
- ?>
So que por período não esta dando certo informando a data inicio e fim. No banco esta no formato timestemp: 2014-07-31 19:52:47, estou usando o between não esta dando certo procurei varias maneiras mas até agora nada.
- <?php
- $criteria->add(new TFilter("date_format(inscricao.datainscricao,'%Y-%m-%d')", '=', $data->datainicio, $data->datafim));
- ?>
Ele chega a filtrar só que não traz todos os registros. No mysql mesmo direto no banco traz 4 registros só que no relatório em pdf só 3 informando a mesmos período.
Alguém poderia dar um help por favor.
Olá Tente isso.
Abraços...
Oi Jackson,
O suporte ao between foi acrescentado na 1.0.3, conforme os changelogs. A forma de usar é:
Embora com datas, você sempre pode usar também dois filters, um com >= e outro com <=...
Att,
Pablo
Olá Pablo e Felipe
Deu certo usando o between que Pablo me falou
Como faço para exibir a data na sequencia correta ao usuario pq na tela quando escolhe uma data ele esta exibindo assim "2014-08-04" gostaria que ele exibi-se 04/08/2014, como devo proceder?
Desde já agradeço. Obrigado!
$campoData->setMask('dd/mm/yyyy');
Estou com uma dúvida semelhante.
Estou usando sqlite3, e ele não permite campos DATE, somente TEXT.
Se eu usar o
que o Pablo informou?
Marcos, não sei se já resolveu seu problema. Mas caso negativo, pelo sql no sqlite, esse exemplo funciona:
select * from atendimento where substr(data_atendimento,7,4)||substr(data_atendimento,4,2)||substr(data_atendimento,1,2) between '20180427' and '20180501';
Atenciosamente,