RedShift to_char 格式没有给出想要的结果
Posted
技术标签:
【中文标题】RedShift to_char 格式没有给出想要的结果【英文标题】:RedShift to_char format not giving desired results 【发布时间】:2014-09-04 19:48:12 【问题描述】:我需要将我的时间戳转换为以下格式 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。
我也尝试过使用反斜杠进行转义,但这也没有用。
如何实现不带空格的所需格式?
【问题讨论】:
【参考方案1】:upper(to_char(GetDate(),'YYYY-MM-DDtHH24:MI:SS.0'))
也可以。
【讨论】:
【参考方案2】:这最终奏效了
select concat(to_char(timestamp,'YYYY-MM-DDT'), to_char(timestamp,'HH24:MI:SS.0')) from table;
【讨论】:
以上是关于RedShift to_char 格式没有给出想要的结果的主要内容,如果未能解决你的问题,请参考以下文章
Redshift varchar 列时间转换为 12 小时格式