gpt4 book ai didi

database - Oracle 将日期更改为时间戳

转载 作者:搜寻专家 更新时间:2023-10-30 22:30:12 25 4
gpt4 key购买 nike

我的表有一个 DATE 类型的列,但我需要查看 GMT 信息我的想法是更改为时间戳列。如何更改已填充值的列?

create table PRO_TFESTIVO ( oid_festivo NUMBER(10) not null, fecha_hora_envio DATE to TIMESTAMP );

谢谢大家!!

最佳答案

您不能更改 DATE/TIMESTAMP 类型,除非:

  1. 使用现有值创建一个临时列;
  2. 用原来的名字新建一个表;
  3. 将现有值填充到"new"列。

将日期转换为带时区的时间戳:

ALTER TABLE pro_tfestivo RENAME COLUMN FECHA_HORA_ENVIO TO OLD_FECHA_HORA_ENVIO;
ALTER TABLE pro_tfestivo ADD FECHA_HORA_ENVIO TIMESTAMP WITH TIME ZONE;
UPDATE pro_tfestivo SET FECHA_HORA_ENVIO = FROM_TZ(CAST(OLD_FECHA_HORA_ENVIO AS TIMESTAMP), 'GMT');
ALTER TABLE pro_tfestivo DROP COLUMN OLD_FECHA_HORA_ENVIO;

加上 :) 将 TIMESTAMP WITH TIME ZONE 转换为 DATE:

ALTER TABLE pro_tfestivo RENAME COLUMN FECHA_HORA_ENVIO TO OLD_FECHA_HORA_ENVIO;
ALTER TABLE pro_tfestivo ADD FECHA_HORA_ENVIO DATE;
UPDATE pro_tfestivo SET FECHA_HORA_ENVIO = CAST(to_timestamp_tz(OLD_FECHA_HORA_ENVIO, 'dd/mm/yyyy hh24:mi:ssXFF TZR') at time zone 'GMT' AS DATE);
ALTER TABLE pro_tfestivo DROP COLUMN OLD_FECHA_HORA_ENVIO;

关于database - Oracle 将日期更改为时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45308565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com