尝试将时间戳列转换为时间时,我收到以下错误消息。
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
) 这样的简单行,它们工作得非常好,不知道为什么整个列没有转换过来。如果有人可以为我提供一些帮助,那就太好了!
先感谢您。
-编辑-
我查看了带有时间戳的列,该列的类型是“没有时区的时间戳”。也许这就是导致错误的原因。