将timestamp列转换为时间时出错

时间:2016-10-03 14:25:29

标签: amazon-redshift sql-timestamp dbeaver

我在尝试将timestamp列转换为时间时收到以下错误消息。

Error message:

SQL Error [500310] [0A000]: [Amazon](500310) Invalid operation: Specified types or functions (one per INFO message) not supported on Redshift tables.

这是我一直用来转换列的sql片段,但都给了我上面的错误:

SELECT pg_catalog.time(timestamp) AS myTime from tableA.time

SELECT "time"(timestamp) AS myTime from tableA.time

SELECT to_char(cast(timestamp as "time")) from tableA.time

select timestamp::time from tableA.time

什么对我有用,但我不需要,因为我需要在时间上运行数学运算,在sql脚本之下。

SELECT
      EXTRACT(HOUR FROM timestamp) AS HOUR,
      EXTRACT(MINUTE FROM timestamp) AS MINUTE,
      EXTRACT(SECOND FROM timestamp) AS SECOND
  FROM tableA.time; 

有什么方法可以检查列的属性,看看列是否没有转换为时间的原因?我尝试过像这样的简单线条(select '2016-10-01 12:12:12'::time)完美无缺,不确定为什么整列没有转换。如果有人能为我提供一些很棒的帮助!

提前谢谢你。

- 编辑 -

我查看了带有时间戳的列,列的类型是"时区没有时区"。也许这就是导致错误的原因。

0 个答案:

没有答案