Essa função retorna o número de meses entre duas datas, mas ela não trata se a diferença for < 1 mês. De qualquer forma se te servir está aí. Function: fDiferencaMeses Description: Returns Number: Parameters Date/Time: dDataBase Date/Time: dData2 Static Variables Local variables Number: nContador Number: nDia Number: nDiaAux Number: nMes Number: nAno Actions While dData2 > dDataBase Set nContador = nContador + 1 Set nAno = SalDateYear( dData2 ) Set nMes = SalDateMonth( dData2 ) Set nDia = SalDateDay( dData2 ) Set nMes = nMes - 1 If nMes = 0 Set nAno = nAno -1 Set nMes = 12 Else If (nMes = 4 OR nMes = 6 OR nMes = 9 OR nMes = 11) AND nDia = 31 Set nDia = 30 Else If nMes = 2 AND nDia > 28 Set nDia = 28 Set dData2 = SalDateConstruct( nAno, nMes, nDia, 0, 0, 0 ) Return nContador
-- From: Ricardo Gomes To: sqlwin@virtualand.net Sent: Monday, August 13, 2007 5:20 PM Subject: [sqlwin] diferença entre datas Pessoal, preciso recuperar a diferença entre duas datas em meses. No Centura, pelo que sei, só consigo essa diferença em dias. Alguém tem alguma idéia de como fazer isso? Obrigado. Ricardo. ------------------------------------------------------------------------------ No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.11.17/951 - Release Date: 13/8/2007 10:15