将日期时间列格式化为Redshift中的ISO日期时间

时间:2017-02-16 18:01:55

标签: sql amazon-redshift

我试图将datetime列转换为ISO datetime格式而没有任何成功。

我设法获得的唯一正确结果是通过执行此sql:

select TO_CHAR(getdate(), 'YYYY-MM-DD')||'T'||TO_CHAR(getdate(),'HH24:MI:SS')

但我确信有更合适的方法来实现这一目标。

为了确保我足够清楚,我试图获得这种格式: 2011-12-03T10:15:30

P.S。

我尝试了琐碎的sql,它没有工作==>

SELECT TO_CHAR(getdate(), 'YYYY-MM-DDTHH24:MI:SS');

给出了这个结果:

2017-02-19THH24:38:46

当然我想要的不同: 2017-02-19T10:38:46

2 个答案:

答案 0 :(得分:6)

好的,我设法通过混合使用'和'==>

来实现这一目标
max

给出结果:2017-02-19T16:00:40

编辑: 我找到了一个更简单的解决方案:

SELECT TO_CHAR(getdate(), 'YYYY-MM-DD"T"HH24:MI:SS');

看来上层HH出了问题。一旦转换为......它就有效了

答案 1 :(得分:1)

你可以简化字符串连接:

SELECT TO_CHAR(getdate(), 'YYYY-MM-DDTHH24:MI:SS');