Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách cập nhật cột TIMESTAMP thành TIMESTAMP WITH TIME ZONE trong Oracle

Với sự trợ giúp nhỏ từ @JustinCave , Tôi đã đến giải pháp sau, giải pháp này hoàn thành chính xác những gì tôi muốn:

-- 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. Thay thế System.Data.OracleClient thành Oracle.DataAccess (ODP.NET)

  2. làm thế nào để nhân bản kết quả sql của tôi?

  3. Làm cách nào để khắc phục lỗi này:SQL92 không được hỗ trợ?

  4. Đã gặp biểu tượng =

  5. làm cách nào để sử dụng chuỗi kết nối cùng với url jdbc