我正在尝试将表中存储的日期格式转换为指定格式,但未将其转换为所需格式。
我有一个表,其数据格式为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?
答案 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>