PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL alter type timestamp sans fuseau horaire -> avec fuseau horaire

Il conserve la valeur actuelle en heure locale et définit le fuseau horaire sur le décalage de votre heure locale :

create table a(t timestamp without time zone, t2 timestamp with time zone);
insert into a(t) values ('2012-03-01'::timestamp);
update a set t2 = t;
select * from a;
          t          |           t2           
---------------------+------------------------
 2012-03-01 00:00:00 | 2012-03-01 00:00:00-08

alter table a alter column t type timestamp with time zone;
select * from a;
           t            |           t2           
------------------------+------------------------
 2012-03-01 00:00:00-08 | 2012-03-01 00:00:00-08

Selon le manuel de Alter Table :

Selon le manuel des Types de date/heure