0

我有一个包含多个日期的日期列,我需要查询将日期显示为

- January 1st of 1999 -

用破折号。

有人可以帮忙吗?

谢谢

4

1 回答 1

2

您可以将固定值放在日期格式掩码中,方法是用双引号将它们括起来

with t as (select date '1999-01-01' as dt from dual)
select to_char(dt, 'fm"-" Month ddth "of" YYYY "-"')
from t;

TO_CHAR(DT,'FM"-"MONTHDDTH"OF"YYYY"-"')
---------------------------------------
- January 1st of 1999 -                 

或显示今天的日期:

select to_char(sysdate, 'fm"-" Month ddth "of" YYYY "-"') from dual;

TO_CHAR(SYSDATE,'FM"-"MONTHDDTH"OF"YYYY"-"')        
-----------------------------------------------------
- October 2nd of 2013 -                               

fm填充模式”修饰符停止用空格填充月份名称,并删除您通常从dd.

双引号实际上在破折号周围是可选的,因为它们无论如何都是允许的(也'fm- Month ddth "of" YYYY -'可以正常工作),但在这种情况下,我可能无论如何都会引用它们以表明它们不寻常。

于 2013-10-02T15:20:02.880 回答