Ver Mensaje Individual
  #2  
Antiguo 03-03-2016
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Reputación: 21
RONPABLO Va por buen camino
Cita:
Empezado por KOVNEO Ver Mensaje
Soy nuevo en el foro tengo la tarea de cambiar la fecha de unos registros con años de 1999 a 2015
Los registros traen la fecha en el formato dd/mm/aaaa lo único que deseo cambiar es el año sin alterar los días y meses, y al ser años distintos no puedo ocupar DATEADD si me pudieran ayudar
Solo he encontrado como cambiar año por año pero al ser varios años distintos me tardaría más en actualizar año por año, aunque sea buena solución me gustaría me pudieran asesorar como podría hacerlo en un solo UPDATE
El que yo he hecho es sencillo:
Código SQL [-]
UPDATE DOCTOS_IN SET FECHA =DATEADD(13 year to FECHA)
 WHERE EXTRACT(YEAR FROM FECHA) LIKE '%2003';

Y lo que se me ocurría también pero no sé cómo hacer la asignación de que el año sea 2015.
Código SQL [-]
UPDATE DOCTOS_IN SET FECHA =……………………..
 WHERE EXTRACT(YEAR FROM FECHA) NOT LIKE '%2016';
Código SQL [-]

UPDATE DOCTOS_IN SET FECHA =DATEADD(datediff (year from FECHA to cast('now' as date)) year to FECHA)

Tal vez algo así??
Cita:
datediff = saca la diferencia (en este caso de años) entre una fecha y otra
cast('now' as date) convierte a la fecha actual del sistema en donde corre firebird
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita