PPD 0 Denunciar post Postado Março 14, 2011 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
Leozitho 81 Denunciar post Postado Março 14, 2011 Você pode usar a função BETWENN para retornar entre uma data e outra. Compartilhar este post Link para o post Compartilhar em outros sites
PPD 0 Denunciar post Postado Março 14, 2011 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
Wess 1 Denunciar post Postado Março 14, 2011 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
PPD 0 Denunciar post Postado Março 14, 2011 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
Wess 1 Denunciar post Postado Março 16, 2011 Muito bom... funcionou perfeitamente.. Obrigado Wess Por nada precisando estamos ai. Compartilhar este post Link para o post Compartilhar em outros sites