我在尝试将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
)完美无缺,不确定为什么整列没有转换。如果有人能为我提供一些很棒的帮助!
提前谢谢你。
- 编辑 -
我查看了带有时间戳的列,列的类型是"时区没有时区"。也许这就是导致错误的原因。