zenfra 0 Denunciar post Postado Maio 19, 2006 Olá pessoal,gostaria de tirar uma dúvida.Quero calcular a quantidade de dias entre uma data inicial e a data corrente do sistema. Hoje estou fazendo da seguinte forma:Select data ,curdate(), (curdate() - data) as age from ordens;e ele me retorna o seguinte :data curdate() age2006-05-18 2006-05-19 12006-03-01 2006-05-19 2182006-05-19 2006-05-19 02006-05-19 2006-05-19 0O problema é o seguinte, datas dentro do mesmo mês ele faz o calculo certo, quando é preciso fazer calculo entre uma data e outra onde a data inicial é fara do mês atual ele faz o calculo errado, como no age 218 na selecão exibida acima.Como posso fazer para exibir o calculo correto? Compartilhar este post Link para o post Compartilhar em outros sites
Twunay 1 Denunciar post Postado Maio 19, 2006 Fala...Tenta fazer assim:Neste caso a query vai buscar todos os registros com 5 ou mais dias de diferença da data registrada no MySql.SELECT * FROM tabela WHERE DATE_SUB(CURRENT_DATE, INTERVAL '5' DAY) >= COLUNADATABs,Twunay Compartilhar este post Link para o post Compartilhar em outros sites
zenfra 0 Denunciar post Postado Maio 19, 2006 Então cara,Ai você ta dando a condição de que ele faça o calculo somente das datas dentro do mês 5 e eu não quero isso. O sistema que eu estou criando precisa calcular a quantidade de dias em que uma Ordem de serviço esta parada parada na lista de espera de atendimento, as vezes essa ordem fica parada meses e eu preciso calcular essa quantidade de dias fazendo a subtração da data corrente menos a data de abertura da Ordem, mas quando a data da abertura é fora do mês corrente ele calcula errado. Compartilhar este post Link para o post Compartilhar em outros sites
ska_ska 0 Denunciar post Postado Maio 20, 2006 eita..q zuado..eheheh... tenta assim: Select data ,curdate(), (TO_DAYS(CURDATE()) - TO_DAYS(data)) as age from ordens;) Compartilhar este post Link para o post Compartilhar em outros sites
leozeza 0 Denunciar post Postado Maio 21, 2006 beleza pessoal!use essa função q funciona function diferenca_data($data1, $data2){ $DataInicial = getdate(strtotime($data1)); $DataFinal = getdate(strtotime($data2));$dif = round (($DataFinal[0] - $DataInicial[0]) / 86400);return $dif;}Um abraço Compartilhar este post Link para o post Compartilhar em outros sites
zetroc 0 Denunciar post Postado Maio 22, 2006 Kra, dá uma olhada nessa página: http://dev.mysql.com/doc/refman/4.1/pt/dat...-functions.html Compartilhar este post Link para o post Compartilhar em outros sites