Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2007
Avatar de jwmoreira
jwmoreira jwmoreira is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
jwmoreira Va por buen camino
Agregue un argumento mas para meses y cambie el procedimiento:
Código:
CREATE PROCEDURE SP_RESTA_FECHAS (
    AN_FECHA1 INTEGER,
    AN_FECHA2 INTEGER,
    AV_TIPO CHAR (1) CHARACTER SET WIN1251)
RETURNS (
    NUM_DIAS INTEGER)
AS
  declare variable vs_fecha1 varchar(10);
  declare variable vs_fecha2 varchar(10);
BEGIN
if( av_tipo = 'M' ) then
  if (substring( cast(an_fecha1 as varchar(8)) from 1 for 4) =
      substring( cast(an_fecha2 as varchar(8)) from 1 for 4)) then
      num_dias =  cast(substring( cast(an_fecha2 as varchar(8)) from 5 for 2) as integer) -
                  cast(substring( cast(an_fecha1 as varchar(8)) from 5 for 2) as integer) + 1;
  else
      num_dias =  cast(substring( cast(an_fecha2 as varchar(8)) from 5 for 2) as integer) +
                  (( cast(substring( cast(an_fecha2 as varchar(8)) from 1 for 4) as integer) -
                     cast(substring( cast(an_fecha1 as varchar(8)) from 1 for 4) as integer) ) * 12);
else
begin
  vs_fecha1 = substring( cast(an_fecha1 as varchar(8)) from 5 for 2) || '/'||
              substring( cast(an_fecha1 as varchar(8)) from 7 for 2) || '/'||
              substring( cast(an_fecha1 as varchar(8)) from 1 for 4);
  vs_fecha2 = substring( cast(an_fecha2 as varchar(8)) from 5 for 2) || '/'||
              substring( cast(an_fecha2 as varchar(8)) from 7 for 2) || '/'||
              substring( cast(an_fecha2 as varchar(8)) from 1 for 4);
  num_dias =  cast(:vs_fecha2 As Date) - cast(:vs_fecha1 As Date);
end
SUSPEND;
END

Código SQL [-]select (select num_dias from RESTA(fecha1,fecha2,tipo) From TablaOrigen



Donde Tipo es M=Meses y por default días.

Espero en algo haberte ayudado,
Jorge.
Responder Con Cita
  #2  
Antiguo 20-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Para meses no he encontrado nada, para días tienes una UDF en rFunc



Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 22-01-2007
ElGatitoTapatio ElGatitoTapatio is offline
Miembro
 
Registrado: nov 2006
Posts: 38
Poder: 0
ElGatitoTapatio Va por buen camino
Gracias jwmoreira por el procedimiento...

Lo voy a implementar y les aviso resultados
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Calcular numero de dias entre dos fechas vero Varios 22 31-05-2011 14:37:34
Obtener tiempo entre fechas YaninaGenia Oracle 5 04-05-2006 20:46:20
función para obtener diferencias entre fechas - Firebird clanmilano SQL 1 11-11-2005 13:29:52
Numero de dias entre fechas (TDateTime) sierraja Varios 4 26-04-2005 18:29:02
numero de semanas entre 2 fechas marrullas SQL 1 10-05-2004 19:21:18


La franja horaria es GMT +2. Ahora son las 15:49:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi