Re: int a date

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Ruben Curto <rubencurto(at)virtualia(dot)com(dot)ar>
Cc: Mario Gonzalez <gonzalemario(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: int a date
Date: 2007-07-23 16:56:39
Message-ID: 20070723165639.GI2540@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ruben Curto escribió:

> Tengo una tabla donde las fechas estan guardadas como enteros (hoy, por
> ej. es '20070723') y necesito obtener la suma de esa fecha mas 10 dias.

Usa to_date:

alvherre=# select to_date(20070720, 'YYYYMMDD');
to_date
------------
2007-07-20
(1 fila)

alvherre=# select to_date(20070720, 'YYYYMMDD') + '10 days'::interval;
?column?
---------------------
2007-07-30 00:00:00
(1 fila)

(el de arriba es un timestamp)

alvherre=# select (to_date(20070720, 'YYYYMMDD') + '10 days'::interval)::date;
date
------------
2007-07-30
(1 fila)

(este es un date)

> La tabla esta ya asi, tiene años, y hay un sistema que la consulta
> desde varios lados, y la idea era ver si podia hacer lo anterior sin
> modificar el campo a date, ya que quizas esto modifique el
> funcionamiento del sistema (que no hice yo, por lo tanto tendria que
> verificar todas las consultas a esta tabla).

Estrategia para cambiar las aplicaciones: crea otra tabla que tenga la
columna de tipo date, mueve los datos hacia alla, y convierte tu tabla
en una vista que convierta la fecha a entero (probablemente usando
to_char).

Puedes dejar esa vista indefinidamente, y a medida que vayas cambiando
la aplicacion puedes cambiar esas partes donde lees esa vista, por
lecturas a la tabla. Cuando no quede ninguna referencia a la vista, la
borras.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Gonzalez 2007-07-23 16:56:46 Re: int a date
Previous Message Gabriel Hermes Colina Zambra 2007-07-23 16:56:38 Re: Problema reiniciando servidor con pg_ctl start