
Calculo de tiempo entre dos fechas
Publicado por Heiver Perez (2 intervenciones) el 23/02/2016 16:52:59
Hola Amigos
Tengo el siguiente problema
necesito hacer un calculo entre dos fechas por ejemplo
23/05/1992 y 23/02/2016 y que como resultado me de
23 años
9 meses
0 días
en sql server lo logre hacer con el siguiente procedimiento
pero en oracle no se que funciones me servirán para calcular las fechas
Agradezco mucho su ayuda
Gracias!!!
Tengo el siguiente problema
necesito hacer un calculo entre dos fechas por ejemplo
23/05/1992 y 23/02/2016 y que como resultado me de
23 años
9 meses
0 días
en sql server lo logre hacer con el siguiente procedimiento
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
CREATE PROCEDURE SPBICALCULARTIEMPOSERVICIO
AS
BEGIN
DECLARE
@LRMTHVEX INTEGER,
@LCODEMPL NUMERIC(13),
@LFECINGR DATETIME,
@LFECHA datetime,
@LTMPFECH datetime,
@LANIOS int,
@LMESES int,
@LDIAS int
DECLARE C_HVEXT CURSOR FOR (SELECT RMT_HVEX, COD_EMPL, FEC_INGR FROM BI_HVEXT WHERE EMP_ACTU = 'S');
OPEN C_HVEXT;
FETCH NEXT FROM C_HVEXT INTO @LRMTHVEX, @LCODEMPL, @LFECINGR;
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @LFECHA = @LFECINGR
SELECT @LTMPFECH = @LFECHA
SELECT @LANIOS = DATEDIFF(yy, @LTMPFECH, GETDATE()) - CASE WHEN (MONTH(@LFECHA) > MONTH(GETDATE())) OR (MONTH(@LFECHA) = MONTH(GETDATE()) AND DAY(@LFECHA) > DAY(GETDATE())) THEN 1 ELSE 0 END
SELECT @LTMPFECH = DATEADD(yy, @LANIOS, @LTMPFECH)
SELECT @LMESES = DATEDIFF(m, @LTMPFECH, GETDATE()) - CASE WHEN DAY(@LFECHA) > DAY(GETDATE()) THEN 1 ELSE 0 END
SELECT @LTMPFECH = DATEADD(m, @LMESES, @LTMPFECH)
SELECT @LDIAS = DATEDIFF(d, @LTMPFECH, GETDATE())
SELECT @LRMTHVEX, @LANIOS, @LMESES, @LDIAS
UPDATE BI_HVEXT SET ANO_SERV = @LANIOS,MES_SERV = @LMESES, DIA_SERV = @LDIAS;
FETCH NEXT FROM C_HVEXT INTO @LRMTHVEX, @LCODEMPL, @LFECINGR;
END;
CLOSE C_HVEXT;
DEALLOCATE C_HVEXT;
END;
GO
pero en oracle no se que funciones me servirán para calcular las fechas
Agradezco mucho su ayuda
Gracias!!!
Valora esta pregunta


0