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

Agregar un año a un campo de fechas en una tabla de postgres

Estas en el tema de Agregar un año a un campo de fechas en una tabla de postgres en el foro de PostgreSQL en Foros del Web. Tengo una tabla con un campo que guarda la fecha con el formato 'YYYY-MM-DD', quiero agregarle un año al campo usando la siguiente sentencia: UPDATE ...
  #1 (permalink)  
Antiguo 25/01/2017, 19:07
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Antigüedad: 18 años, 10 meses
Puntos: 1
Agregar un año a un campo de fechas en una tabla de postgres

Tengo una tabla con un campo que guarda la fecha con el formato 'YYYY-MM-DD', quiero agregarle un año al campo usando la siguiente sentencia:

UPDATE tabla SET campo_de_fecha = DATEADD(YEAR, 1, campo_de_fecha);

Al ejecutar la sentencia postgre me devuelve :

ERROR: no existe la columna "YEAR"

Lo he probado con las versiones de postgressql 8.3 y 9.1

¿Alguien puede ver dónde esta el error en la sentencia?
  #2 (permalink)  
Antiguo 26/01/2017, 07:10
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Agregar un año a un campo de fechas en una tabla de postgres

Para hacer operaciones con las fechas, puedes encontrar todo en la documentación oficial
https://www.postgresql.org/docs/8.3/...-datetime.html

Para tu caso concreto, lo puedes hacer con interval.

Código SQL:
Ver original
  1. SELECT now() + INTERVAL'1 year';
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 27/01/2017, 06:27
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: Agregar un año a un campo de fechas en una tabla de postgres

Gracias por la respuesta, ya solucione.
La función DATEADD pertenece a sql server y no existe en postgresql. La forma correcta de hacer lo es:

UPDATE tabla SET campo_de_fecha=campo_de_fecha + interval '1 year';

Etiquetas: campo, fecha
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




La zona horaria es GMT -6. Ahora son las 16:44.