RedShift to_char格式没有给出期望的结果

时间:2014-09-04 19:48:13

标签: amazon-redshift to-char

我需要将时间戳转换为以下格式 YYYY-MM-DDTHH24:MI:SS.0 。请注意中间的'T'。例如2014-09-04T13:05:10.0。

我尝试了以下内容:

select to_char(timestamp,'YYYY-MM-DDTHH24:MI:SS.0') from table;

然而,RedShift将'TH'解释为序数后缀(http://docs.aws.amazon.com/redshift/latest/dg/r_Numeric_formating.html)。因此,我得到的结果如2014-03-23RDH24:26:36.0。

因此,我在'T'之后添加了一个空格并尝试修剪空间。

select trim(' ' FROM to_char(timestamp,'YYYY-MM-DDT HH24:MI:SS.0')) from table;

然而,修剪实际上没有移除空间。我的结果就像2014-03-23T 07:26:36.0。

我也尝试使用反斜杠进行转义,但这也无效。

如何在没有空格的情况下实现所需的格式?

2 个答案:

答案 0 :(得分:3)

upper(to_char(GetDate(),'YYYY-MM-DDtHH24:MI:SS.0'))

也有效。

答案 1 :(得分:1)

最终工作

select concat(to_char(timestamp,'YYYY-MM-DDT'), to_char(timestamp,'HH24:MI:SS.0')) from table;