如何使用SQL将日期格式转换为YYYY-MM-DD

时间:2015-04-16 15:43:18

标签: sql oracle utc

我有一个api以UTC格式返回日期/时间,并希望我的数据库查询与此格式匹配。我要求的日期格式是:

2015-04-16T13:41:00.000+0000

到目前为止,我的查询看起来像这样:

SUBSTR(To_Char(cast(booking_date as timestamp) at time zone 'UTC'), 0, 24) AS bd

返回:

16-APR-15 13.41.00.00000

该查询当前在Oracle SQL Developer中运行

1 个答案:

答案 0 :(得分:2)

如图in the documentation所示,您可以通过对它们进行双引号来包含日期格式的文本文字,其余的日期格式元素是相当标准的:

to_char(cast(booking_date as timestamp) at time zone 'UTC',
  'yyyy-mm-dd"T"hh24:mi:ss.ff3"+0000"')

快速演示:

select to_char(cast(sysdate as timestamp) at time zone 'UTC',
  'yyyy-mm-dd"T"hh24:mi:ss.ff3"+0000"') as utc_timestamp
from dual;

UTC_TIMESTAMP                    
----------------------------------
2015-04-16T16:07:53.000+0000