sql - 如何从 Oracle 中的日期和月份值中删除前导零?
问题描述
我想从结果中删除前导零。我在这里找到了答案How to remove leading zeros from day and month values in Oracle, when parsing to a string using a to_char function? ,但它对我不起作用。
我尝试了以下脚本:
SELECT TO_CHAR(SYSDATE, 'dd.mm.yyyy'),
TO_CHAR(SYSDATE - 20, 'fmdd-fmmm-yyyy')
FROM DUAL;
我得到的结果如下:
2018 年 8 月 31 日 | 11-08-2018
然后我尝试了:
SELECT TO_CHAR(SYSDATE, 'dd.mm.yyyy'),
TO_CHAR(SYSDATE - 20, 'fmMM')
FROM DUAL;
似乎得到了正确的结果:
2018 年 8 月 31 日 | 8
那么如何从 Oracle 中的日期和月份值中删除前导零?我怎么了?
解决方案
对于您的特定格式掩码dd.mm.yyyy
,您可以尝试使用REGEXP_REPLACE
从日和月组件中删除前导零:
SELECT
REGEXP_REPLACE(TO_CHAR(SYSDATE, 'dd.mm.yyyy'), '0([0-9])\.', '\1.') AS date_field
FROM dual;
推荐阅读
- javascript - 如何知道在具有多个数据的 chart.js 条形图上单击了哪个条?
- java - 如何通过使用 JAVA 中的 pem 文件连接到服务器来跟踪远程服务器中的后端日志
- django - 如何使用单个查询集获取关系模型中的所有相关对象?
- dart - Flutter Socket.listen() 接收到不完整的数据
- dart - 在 Flutter 中使用 FutureBuilder 构建列表视图时出现“构建函数返回 null”错误
- c++ - printf 对待 *p++ 的方式与对待 p 的方式不同
- node.js - 如何在 Selenium Firefox Web 驱动程序中设置身份验证代理?
- c# - 将两个列表的不同数据合并为一个
- php - VSCode Snippet 之前触发文本?
- c++ - 在不使用 R 的情况下将 Rccp 用作 C++ STL