Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group