问题描述
我正在RedShift数据库中使用工作台执行查询,并且收到以下error。我找不到相同的解决方案。
解决方法
Redshift dateadd()函数对日期或时间戳记数据类型(而不是时间数据类型)进行操作。您没有在“ arrival_time”中显示该值,因此不清楚您需要哪种类型。如果到达时间是日期加时间,则只需将其转换为时间戳而不是时间即可。如果该字符串中只有时间,则将要添加一个间隔,而不要使用dateadd()。像这样:
cast(arrival_time as time) + interval '1 hour' -- doesn't work due issue described in comments
这种方法也适用于时间戳。
编辑:从注释中拉出更正的代码,以明确答案。
cast(cast('2000/01/01 '||arrival_time as timestamp) + interval '1 hour' as time)