【问题标题】:Change column Timezone to Time将列时区更改为时间
【发布时间】:2020-05-06 15:38:06
【问题描述】:

错误地设置了一个表,其列类型 Timestamp 没有时区,其中需要 Time 类型。 我试过了

ALTER TABLE "Scheme"."Table" ALTER COLUMN "Length" TYPE _time USING "Length"::_time;

得到一个错误:不能将没有时区的类型时间戳转换为没有时区的时间

【问题讨论】:

  • 与您的问题无关,但是:您应该真正避免使用那些可怕的带引号的标识符。他们的麻烦比他们的价值要多得多。 wiki.postgresql.org/wiki/…

标签: postgresql timestamp alter-table


【解决方案1】:

_time 不是valid Postgres data type。你需要使用time

ALTER TABLE "Scheme"."Table" 
  ALTER COLUMN "Length" TYPE time USING "Length"::time;

Online example

【讨论】:

  • 试过这个,命令被接受,没有错误。但是在那之后,该列仍然是Timestamp?
  • 不,不是。也许你忘了commit那个?
  • 好的,我知道了!它已提交但尚未在前端更新。对不起,我的困惑。
猜你喜欢
  • 2013-08-17
  • 2011-08-31
  • 1970-01-01
  • 1970-01-01
  • 2021-08-12
  • 2020-06-08
  • 1970-01-01
  • 2017-08-20
  • 1970-01-01
相关资源
最近更新 更多