在 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 日期时间的主要内容,如果未能解决你的问题,请参考以下文章

在 MySQL 查询中将字符串格式化为日期

如何在 Redshift 中将 BIGINT 转换为 DATE?

如何在R中将多个日期格式格式化为一个?

在 SQL(Redshift)中将字符串(43677)转换为日期格式 [关闭]

在 iOS 中将用户出生日期格式化为 NSDate 对象

在 iOS 中将日期格式化为 dd-MMM