首页 > 解决方案 > Oracle中的日期格式(0)转换

问题描述

我正在尝试将存储在我的表中的日期格式转换为指定的格式,但它没有将其转换为所需的格式。

我有一个表格,其数据格式为 15-Jan-2016 00:21:06 CEST 和 6/19/2019 3:07:01 AM,我必须将日期转换为 DD-MON-YY hh24:mi:ss am .

我正在使用以下查询来格式化数据。

select to_char(to_date(substr(mod,1,20),'DD-MON-YY hh24:mi:ss'),'MM-DD-YYYY HH:MI:SS AM') datetime from test where mod like '%CEST'
union all
select to_char(to_date(mod,'MM-DD-YY hh:mi:ss am'),'MM-DD-YYYY HH:MI:SS AM') datetime from test where mod  not like '%CEST';

它给出了正确的输出0 1-15-2016 12:21:06 AM 和0 6-19-2019 03:07:01 AM。但我不希望 0 在本月之前出现。是否有任何指定的日期格式来删除 0?

标签: sqloracle11goracle-apex

解决方案


应用fm格式蒙版修饰符。见res_2

SQL> select to_char(sysdate, 'mm-dd-yyyy') res_1,
  2         to_char(sysdate, 'fmm-dd-yyyy') res_2
  3  from dual;

RES_1      RES_2
---------- ----------
08-13-2019 8-13-2019

SQL>

推荐阅读