Oracle中的日期格式(0)转换

时间:2019-08-13 09:18:25

标签: sql oracle11g oracle-apex

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

我有一个表,其数据格式为CEST 15-Jan-2016 00:21:06和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 2019/6/19 03:07:01 AM。但是我不希望0出现在本月之前。是否有指定的日期格式可以删除0?

1 个答案:

答案 0 :(得分:4)

应用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>