janazi 0 Denunciar post Postado Novembro 8, 2005 Pessoal, estou tendo um problema ao tentar fazer uma busca por pedidos emitidos dentro de um determinado período, é o seguinte, eu preciso achar todos os pedidos que tenham como data de vencimento o 4 dias à partir da data de hoje, o formato que estavam sendo salvas as datas no mysql é dd/mm/yy eu tentei desse modo e tb dd/mm/yyyy mas o busca não dá certo, fiz usando between, mas ele não filtra corretamente o mês, só o dia...tipo tá retornando todo os pedidos por ex do dia 01 de qq mesalguma sugestão? Compartilhar este post Link para o post Compartilhar em outros sites
bastard2003 4 Denunciar post Postado Novembro 8, 2005 vamos por partes.... se eu não me engano mysql é dd/mm/yyyy... o between teria que tar funcionando.. posta o codigo ai pra galera da uma olhada... Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Novembro 8, 2005 usa o datediffdiminui a sua data da data de hoje.Se for maior que 4 dias, .... Compartilhar este post Link para o post Compartilhar em outros sites
janazi 0 Denunciar post Postado Novembro 8, 2005 O código que eu estava usando era o seguintedata:= FormatDateTime('dd/mm/yyyy', date);data2:= FormatDateTime('dd/mm/yyyy', date + 4);qryPedidoNovo.SQL.Add('select codigo_pedido, data, hora, vencimento from dados_pedido where vencimento between '+data+' AND '+data2+'');O que pode estar dando errado? detalhe, o campo no mysql está varchar(10) Compartilhar este post Link para o post Compartilhar em outros sites
lenn0n 0 Denunciar post Postado Novembro 8, 2005 tenta da um cast do vencimento no where Compartilhar este post Link para o post Compartilhar em outros sites
janazi 0 Denunciar post Postado Novembro 8, 2005 tentei dessa maneira qryPedidoNovo.SQL.Add('select codigo_pedido, data, hora, vencimento from dados_pedido where cast vencimento between '+data+' AND '+data2+'');só que dá erro, não efetua a consulta, está certo a maneira como fiz?tente colocar cast(vencimento) mas tb deu erroahhhtentei cast(vencimento as date)Outra coisa, tentei colocar manualmente no sql a data, ficou assimqryPedidoNovo.SQL.Add('select codigo_pedido, data, hora, vencimento from dados_pedido where cast(vencimento as date) between ''08/11/05'' AND ''12/11/05''');só que ai ele retornou todos os pedidos do sistema entre o dia 08 e 12 de todos os meses Compartilhar este post Link para o post Compartilhar em outros sites
janazi 0 Denunciar post Postado Novembro 8, 2005 acho que pelo fato der um campo varchar no mysql, não está dando certo a consulta por data...eu queria converter o campo para date, porém o padrão no mysql é 0000-00-00 como mudar esse padrão???? para algo como dd/mm/yyyy ou até mesmo mm/dd/yyyy caso contrário vou ter que mudar muito a programação para adaptar aos 0000-00-00 Compartilhar este post Link para o post Compartilhar em outros sites
bastard2003 4 Denunciar post Postado Novembro 9, 2005 realmente o problema é teu campo ser varchar, pq pra ele a string 01/10/2005 é menos que 10/08/2005... pq ele pega os primeiros caracteres.. e qual é a possibilidade de você trocar essa campo na base passando ele pra data!?:| Compartilhar este post Link para o post Compartilhar em outros sites