Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carol Designer

[Resolvido] BETWEEN busca por periodo

Recommended Posts

Galera estou tentando fazer uma busca por periodo de 00/00/0000 a 00/00/0000 no meu banco ele não esta cadastrado como data e sim com campo variavel entao ele esta no padrao brasileiro 00/00/0000 não no padrao 0000/00/00

quando jogo para a busca ele faz um intervalo loco sendo o dia sempre o mesmo so mudando o mes.

Ex.

D_A=01/01/2010&D_F=02/07/2010

 

ele captura so os dais 01 e 02 anulando os demais 02 04 05 etc.

o meu codigo esta assim:

<? 
$D_A = $_GET['D_A'];
$D_F = $_GET['D_F']; 
?>

WHERE (pedidos_estilo3.DATA) BETWEEN '$D_A' AND '$D_F' ORDER BY DATA DESC ";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se eu entendi direito, em vez de usar campos DATE, você usou VARCHAR, certo? Nesse caso, acredito que você não conseguirá fazer a busca por períodos como deseja. O correto é usar campos DATE ou DATETIME.

 

Obs.: o formato utilizado por campos DATE muda para 0000-00-00.

 

Espero ter ajudado. Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim. Between faz uma busca entre(between) um intervalo definido.

 

Você sabe calcular este intervalo, sendo ele texto? 00/00/0000 - 00/00/0000

 

Você sabe que se trata (não se trata) de duas datas. Mas o banco está tratando como strings.

 

Outra questão: Quando você corrigir esta falha, terá que fazer uma revisão na consulta, afinal o intervalo entre 1 e 1 é 0. Você sempre receberá de volta, consultas vazias.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo tem certeza que não existe como ?

Hmm

Você pode usar o STR_TO_DATE, mas eu prefiro campos DATE, que é mais fácil de trabalhar.

 

SELECT * FROM tabela WHERE STR_TO_DATE(pedidos_estilo3.DATA, '%d/%m/%Y') BETWEEN STR_TO_DATE('$D_A', '%d/%m/%Y') AND STR_TO_DATE('$D_F', '%d/%m/%Y');
Tenta isso, deve funcionar Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.