我的查询在查询结果窗口中有一个日期字段,其值如下所示:
2013-10-01 00:00:00
但是,当我将结果保存到csv时,它会像这样保存:
2013-10-01T00:00:00
当我尝试将csv复制到Redshift中的表中时,这会导致出现问题,它会在错误中指出该值不是有效的时间戳(我导入的字段为'}是一个时间戳字段。)
我怎样才能得到它,以便它完全剥离时间组件,只留下日期,或者至少是" T"从结果中删除了吗?
我使用Aginity SQL Workbench for Redshift将结果导出到csv。
答案 0 :(得分:2)
导入后,添加新的TIMESTAMP列并使用CAST()函数 填充它们:
ALTER TABLE events ADD COLUMN received_at TIMESTAMP DEFAULT NULL;
UPDATE events SET received_at = CAST(received_at_raw as timestamp);
ALTER TABLE事件ADD COLUMN generated_at TIMESTAMP DEFAULT NULL; UPDATE事件SET generated_at = CAST(generated_at_raw as timestamp); 最后,如果您不再向该表导入,则使用原始VARCHAR 时间戳列可能会被删除。如果您预测导入更多事件 从S3,不要删除这些列。要删除列,请运行:
ALTER TABLE events DROP COLUMN received_at_raw; ALTER TABLE events
DROP COLUMN generated_at_raw;
希望有帮助...