Oracle 中的单月数字日期格式问题

ash*_*thi 1 oracle date

当我使用“mon-d-yyyy”将日期转换为字符时遇到以下问题,因为我需要单日数字来表示一个月中 1 到 9 天的值。

当我使用“mon-d-yyyy”格式时,我丢失了 5 天并得到了错误的日期。对此的任何帮助都会很棒。

select to_char(sysdate-22,'mon-d-yyyy') from dual;--aug-2-2017

select to_char(sysdate-22,'mon-dd-yyyy') from dual;--aug-07-2017

select sysdate-22 from dual;--07-AUG-17 11.06.43
Run Code Online (Sandbox Code Playgroud)

gil*_*ile 5

在 Oracle 日期格式中,d获取星期几。2您的输出中的 意味着,monday而不是 8 月 2 日。

尝试用作格式模型Fill Mode修饰符

select to_char(sysdate-22,'mon-fmdd-yyyy') from dual;
Run Code Online (Sandbox Code Playgroud)