Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak zaktualizować kolumnę TIMESTAMP na TIMESTAMP WITH TIME ZONE w Oracle?

Z niewielką pomocą @JustinCave , doszedłem do następującego rozwiązania, które spełnia dokładnie to, czego chciałem:

-- Rename the old columns so we can use them as a data source *AND* so
-- we can roll back to them if necessary.
alter table OOPSIE_TABLE rename column COLUMN_A to OLD_COLUMN_A;
alter table OOPSIE_TABLE rename column COLUMN_B to OLD_COLUMN_B;
-- Define COLUMN_A and COLUMN_B to have TIME ZONE support.
alter table OOPSIE_TABLE add (
    COLUMN_A timestamp(6) with time zone,
    COLUMN_B timestamp(6) with time zone
);
-- Populate the "new" columns with the adjusted version of the old data.
update OOPSIE_TABLE set
    COLUMN_A = from_tz(OLD_COLUMN_A, 'America/New_York') at time zone 'UTC',
    COLUMN_B = from_tz(OLD_COLUMN_B, 'America/New_York') at time zone 'UTC'
;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pokaż wszystkie zapytania przychodzące do bazy danych Oracle

  2. Najlepsza praktyka Oracle raise_application_error numer błędu

  3. Jak ustawić właściwą ścieżkę do pliku TNSNAMES w aplikacji C#?

  4. Tworzenie tymczasowej tabeli Oracle o takiej samej strukturze tabeli jak istniejąca tabela

  5. Jak napisać skrypt wstawiania oracle z jednym polem jako CLOB?