sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL ändra typ tidsstämpel utan tidszon -> med tidszon

Den behåller det aktuella värdet i lokaltid och ställer in tidszonen till din lokaltids offset:

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

Enligt manualen för Alter Table :

Enligt manualen för Datum/Time-typer



  1. Flera finns inte i MYSQL för att kontrollera antalet rader

  2. TypeORM-array stöds inte i postgres?

  3. Uppdatera och välj i en fråga

  4. Oracle får siffror med räckvidd