我有一个包含多个日期的日期列,我需要查询才能将日期显示为
- January 1st of 1999 -
用破折号。
有人可以帮忙吗?
谢谢
答案 0 :(得分:2)
您可以通过enclosing them in double quotes将日期格式掩码中的固定值设置为:
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
'fill mode' modifier停止用空格填充月份名称,并删除通常从dd
获得的前导零。
双引号在破折号附近实际上是可选的,因为无论如何它们都被允许('fm- Month ddth "of" YYYY -'
也能正常工作),但在这种情况下我可能会引用它们来表明它们是不寻常的。