sql - 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?
解决方案
应用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>
推荐阅读
- r - 比 R 中的 mapply 函数更快的方法
- java - 运行我的代码时出现 throwFor、next 和 nextDouble 错误
- html - CSS问题中导航栏的汉堡包
- join - Google Sheet JOIN 3 表相关
- ms-access - 报告完成后会发生哪些报告事件?
- oauth - 在移动浏览器中登录 Facebook 时出错
- three.js - 使用动画系统更新 bufferGeometry 的属性
- swift - 将 html 内容作为字符串读取,无需重定向
- javascript - 是否可以删除 2 个表中的 1 行 sqlite
- angularjs - 如何在angularjs中找到一组可用日期中的第一个日期?