如何在 Oracle SQL Developer 中以 "rd"、"th"、"nd" 和 "st" 格式显示日期?

How to display days in "rd", "th", "nd", and "st" format in Oracle SQL Developer?

伙计们,

我必须以以下格式显示明天的日期:2019 年 1 月 10 日。 我创建了这个查询:

SELECT TO_CHAR((SYSDATE + 1),'Month DD (ddspth) "of year" YYYY') AS tomorrow FROM DUAL;

输出为:

May       23 (twenty-third) of year 2023

如何获得所需格式的输出?

提前致谢。

不要sp大声说出来;和 use FM 抑制空白填充:

SELECT TO_CHAR((SYSDATE + 1),'FMMonth ddth "of year" YYYY') AS tomorrow FROM DUAL;

May 24th of year 2022

db<>fiddle 演示。

月份名称是 NLS-sensitive,所以有人 运行 在具有不同日期语言设置的会话中会看到其他内容 - 您可以覆盖。 th will be in English anyway,以及您的字符文字部分。您可能希望将月份名称强制为英文以匹配。这可能超出了本练习的要求,但我已经在 db<>fiddle.

中包含了如何做到这一点