Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

sumar año en una fecha(oracle)

Estas en el tema de sumar año en una fecha(oracle) en el foro de Oracle en Foros del Web. Hola a todos, como puedo sumar un año a todos los registros de una tabla que tiene un campo de tipo fecha, haciendolo desde sql*plus. ...
  #1 (permalink)  
Antiguo 27/11/2007, 16:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
sumar año en una fecha(oracle)

Hola a todos,

como puedo sumar un año a todos los registros de una tabla que tiene un campo de tipo fecha, haciendolo desde sql*plus.

Este es el query:
SQL> SELECT EXP_DT FROM PS_MLM_PERIODO_VAC WHERE EMPLID = '50004';

EXP_DT
--------
02/07/07
02/07/08
02/07/07
02/07/08

y lo que espero es

02/07/08
02/07/09
02/07/08
02/07/09
  #2 (permalink)  
Antiguo 28/11/2007, 00:41
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 8 meses
Puntos: 7
Re: sumar año en una fecha(oracle)

creo que algo asi

update PS_MLM_PERIODO_VAC set EXP_DT = to_date(to_char(EXP_DT,'ddmm')||to_number(EXP_DT,' yyyy')+1, 'ddmmyyyy');
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 28/11/2007, 01:54
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Re: sumar año en una fecha(oracle)

Otra manera :

update PS_MLM_PERIODO_VAC
set exp_dt = add_months(exp_dt,12)
WHERE EMPLID = '50004';
  #4 (permalink)  
Antiguo 28/11/2007, 05:37
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: sumar año en una fecha(oracle)

Hola,

Otra manera mas
Código:
SQL> select sysdate from dual;

SYSDATE
---------
28-NOV-07

SQL> select sysdate + interval '1' year from dual;

SYSDATE+I
---------
28-NOV-08
Saludos
  #5 (permalink)  
Antiguo 28/11/2007, 07:07
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Re: sumar año en una fecha(oracle)

No te quejarás mmondragon

Será por opciones....... je je je je
  #6 (permalink)  
Antiguo 28/11/2007, 10:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Re: sumar año en una fecha(oracle)

Cita:
Iniciado por kikolice Ver Mensaje
creo que algo asi

update PS_MLM_PERIODO_VAC set EXP_DT = to_date(to_char(EXP_DT,'ddmm')||to_number(EXP_DT,' yyyy')+1, 'ddmmyyyy');
Muchas gracias Kikolice, fíjate que me sale el siguiente error cuando lo corro.

SQL> update PS_MLM_PERIODO_VAC set EXP_DT = to_date(to_char(EXP_DT,'ddmm')||to_number(EXP_DT,' yyyy')
+ 1, 'ddmmyyyy') WHERE EMPLID = '50004';
update PS_MLM_PERIODO_VAC set EXP_DT = to_date(to_char(EXP_DT,'ddmm')||to_number(EXP_DT,' yyyy') + 1,
*
ERROR at line 1:
ORA-01481: invalid number format model


La verdad no pretendo ser conchudo y no ponerme a investigar por mi cuenta, pero me urge mucho. y creeme sí investigo, la prueba es que di con este foro, muy bueno por cierto

Saludos
  #7 (permalink)  
Antiguo 28/11/2007, 10:17
 
Fecha de Ingreso: noviembre-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Re: sumar año en una fecha(oracle)

Hola JC3000.

Muchas gracias por la ayuda, este código lo resuelve muy bien sin problemas. En verdad me sirvio mucho.

Saludos
  #8 (permalink)  
Antiguo 28/11/2007, 10:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Re: sumar año en una fecha(oracle)

Que tal MATANGA,

Muchas gracias por la ayuda, fíjate que en mostrar solo el resultado no tuve problemas, el problema fue con el update. De todas formas te lo agradesco mucho,

Saludos
  #9 (permalink)  
Antiguo 28/11/2007, 10:40
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: sumar año en una fecha(oracle)

Hola,

Con que problemas te encontraste?

Código:
SQL> desc t1;
 Name                                      Null?    Type
 ----------------------------------------- -------- --------------------------

 FECHA                                              DATE

SQL> select * from t1;

FECHA
---------
28-NOV-07

SQL> update t1 set fecha = fecha + interval '1' year;

1 row updated.

SQL> select * from t1;

FECHA
---------
28-NOV-08

SQL> commit;

Commit complete.
Saludos
  #10 (permalink)  
Antiguo 28/11/2007, 11:56
 
Fecha de Ingreso: noviembre-2007
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
De acuerdo Re: sumar año en una fecha(oracle)

Cita:
Iniciado por matanga Ver Mensaje
Hola,

Con que problemas te encontraste?

Código:
SQL> desc t1;
 Name                                      Null?    Type
 ----------------------------------------- -------- --------------------------

 FECHA                                              DATE

SQL> select * from t1;

FECHA
---------
28-NOV-07

SQL> update t1 set fecha = fecha + interval '1' year;

1 row updated.

SQL> select * from t1;

FECHA
---------
28-NOV-08

SQL> commit;

Commit complete.
Saludos

Que tal MATANGA,

Ninguno, también funciona perfecto, muchas gracias por el apoyo.
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 15:04.