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

Responder a