Ir para conteúdo

POWERED BY:

Arquivado

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

PPD

[Resolvido] Selecionar período de tempo mysql

Recommended Posts

Olá comunidade imasters.

 

Preciso de uma ajuda com mysql...

 

estou tentando fazer um relatório onde posso selecionar os registros em um determinado período de tempo. Tenho os campos da data separado, um campo para o dia (DD) um para o mes (MM) e outro para o ano (YYYY).

 

Como faço para listar os registro de uma faixa específica EX: de 20/12/2010 até 15/13/2011 ?

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é que não sei como aplicar o BETWEEN relacionado a data com vários campos.

encontrei aqui no forum algo parecido de como eu preciso, mas o meu banco tem a data salva em campos separados e estes exemplos sao com a data no mesmo campo.

SELECT * FROM ABASTECIMENTO WHERE dia_abastecimento BETWEEN #2007-01-01# AND #2007-02-28# 

 

Você teria algum exemplo?

 

Vejam como estou tentando fazer

 

SELECT v.id_cliente, v.status, c.nome, v.id, v.probabilidade, v.dia, v.mes, v.ano
FROM  vendas v 
INNER JOIN clientes c  
ON c.id = v.id_cliente 
WHERE date(v.dia+'/'+v.mes+'/'+v.ano) between date('$dia/$mes/$ano') AND date('$dia2/$mes2/$ano2')

Compartilhar este post


Link para o post
Compartilhar em outros sites

PPD, seguinte para você realizar uma consulta com os valores da data em campos separados (Dia, Mês, Ano) você pode utilizar o SQL que lhe envio.

 

SELECT 
 dia, mes, ano, STR_TO_DATE( CONCAT( dia, '-', mes, '-', ano ) , '%d-%m-%Y' ) AS DATA
FROM 
 teste
WHERE 
 STR_TO_DATE( CONCAT( dia, '-', mes, '-', ano ) , '%d-%m-%Y' ) BETWEEN '2011-01-01' AND '2011-02-02'

Neste meu caso tenho na minha tabela três campos do tipo VARCHAR (DIA(2), MES(2), ANO(4)) daí concateno os valores para gerar a Data no formato string e utilizo a função do MySQL "STR_TO_DATE" para criar uma data no formato DATETIME. Maiores informações no link: Manual MySQL.

Espero que lhe ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom... funcionou perfeitamente..

 

Obrigado Wess

 

 

PPD, seguinte para você realizar uma consulta com os valores da data em campos separados (Dia, Mês, Ano) você pode utilizar o SQL que lhe envio.

 

SELECT 
 dia, mes, ano, STR_TO_DATE( CONCAT( dia, '-', mes, '-', ano ) , '%d-%m-%Y' ) AS DATA
FROM 
 teste
WHERE 
 STR_TO_DATE( CONCAT( dia, '-', mes, '-', ano ) , '%d-%m-%Y' ) BETWEEN '2011-01-01' AND '2011-02-02'

Neste meu caso tenho na minha tabela três campos do tipo VARCHAR (DIA(2), MES(2), ANO(4)) daí concateno os valores para gerar a Data no formato string e utilizo a função do MySQL "STR_TO_DATE" para criar uma data no formato DATETIME. Maiores informações no link: Manual MySQL.

Espero que lhe ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom... funcionou perfeitamente..

 

Obrigado Wess

Por nada precisando estamos ai.

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.