Sql 如何使用具有特定区域值的时区列更新时间戳?

Sql 如何使用具有特定区域值的时区列更新时间戳?,sql,oracle,timezone,Sql,Oracle,Timezone,我的表中有一个带有时区列的时间戳。 我想用systimestamp在各自的时区更新所有值 我已经尝试了很多方法,但我无法从值中动态获取时区信息,并在单个查询中更新相同的信息 我将在这里提供必要的结构 create table TIMEZONE_TEST ( COLUMN_ONE timestamp with time zone ); insert into TIMEZONE_TEST values (systimestamp at time zone 'US/Pacific'); insert

我的表中有一个带有时区列的时间戳。 我想用systimestamp在各自的时区更新所有值

我已经尝试了很多方法,但我无法从值中动态获取时区信息,并在单个查询中更新相同的信息

我将在这里提供必要的结构

create table TIMEZONE_TEST
( COLUMN_ONE timestamp with time zone
);

insert into TIMEZONE_TEST values (systimestamp at time zone 'US/Pacific');
insert into TIMEZONE_TEST values (systimestamp at time zone 'Asia/Tokyo');
insert into TIMEZONE_TEST values (systimestamp at time zone 'Asia/Kuala_Lumpur');
insert into TIMEZONE_TEST values (systimestamp at time zone 'Asia/Singapore');
commit;
我需要用特定时区的systimestamp更新所有值

差不多

update TIMEZONE_TEST
set COLUMN_ONE = systimestamp at time zone '<TIMEZONE_NAME of the value>';
更新时区\u测试
在时区“”处设置列_ONE=systimestamp;

提前感谢您的帮助。

我不确定是否正确回答了您的问题,但我想应该是这个问题:

UPDATE TIMEZONE_TEST SET 
COLUMN_ONE = FROM_TZ(CAST(SYSTIMESTAMP AS TIMESTAMP), EXTRACT(TIMEZONE_REGION FROM COLUMN_ONE));

要求的答案是

UPDATE TIMEZONE_TEST
SET COLUMN_ONE = SYSTIMESTAMP at time zone EXTRACT(TIMEZONE_REGION FROM COLUMN_ONE);

我修改了@Wernfried给出的答案。

所提供的查询将在服务器时区插入systimestamp,并从以前的值中插入时区信息。但是,我需要在前一个值的时区插入SYSTIMESTAMP。i、 e.在插入过程中,HH:MI值不同,但在运行查询后,所有HH:MI都相同。
UPDATE TIMEZONE\u TEST SET COLUMN\u ONE=SYSTIMESTAMP at TIMEZONE EXTRACT(TIMEZONE\u REGION FROM COLUMN\u ONE)在我的场景中运行良好。这就是答案。谢谢@Wernfried