0

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

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) 这样的简单行,它们工作得非常好,不知道为什么整个列没有转换过来。如果有人可以为我提供一些帮助,那就太好了!

先感谢您。

-编辑-

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

4

0 回答 0