在 Redshift 中将日期时间列格式化为 ISO 日期时间
Posted
技术标签:
【中文标题】在 Redshift 中将日期时间列格式化为 ISO 日期时间【英文标题】:Format datetime column to ISO date-time in Redshift 【发布时间】:2017-02-16 18:01:55 【问题描述】:我正在尝试将日期时间列转换为 ISO 日期时间格式,但没有成功。
我设法获得的唯一正确结果是执行此 sql:
select TO_CHAR(getdate(), 'YYYY-MM-DD')||'T'||TO_CHAR(getdate(),'HH24:MI:SS')
但我确信有更合适的方法来实现这一点。
为了确保我足够清楚,我试图获得这种格式: 2011-12-03T10:15:30
附言
我尝试了琐碎的sql,它不起作用==>
SELECT TO_CHAR(getdate(), 'YYYY-MM-DDTHH24:MI:SS');
给出这个结果:
2017-02-19THH24:38:46
当然我想要它不同: 2017-02-19T10:38:46
【问题讨论】:
【参考方案1】:好的,我设法通过混合使用 ' 和 " ==>
SELECT TO_CHAR(getdate(), 'YYYY-MM-DD"T"HH24:MI:SS');
给出的结果是:2017-02-19T16:00:40
编辑: 我找到了一个更简单的解决方案:
SELECT TO_CHAR(getdate(), 'YYYY-MM-DDThh24:MI:SS');
看来上位HH出了问题。一旦转换为 hh 就可以了
【讨论】:
谢谢,第二个解决方案更好 IMO。 第二种解决方案仍然有效,但请注意它没有记录在案,因此将来可能会中断。以上是关于在 Redshift 中将日期时间列格式化为 ISO 日期时间的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Redshift 中将 BIGINT 转换为 DATE?