我想选择一些格式的日期:
yyyydDOY
其中yyyy
是 4 位数的年份,DOY
是一年中的第几天 (1-366),并且d
是文字“d”。这是我尝试过的:
SQL> select to_char(sysdate, 'YYYYdDDD') from dual;
TO_CHAR(
--------
20130713
显然这都是错误的。我想要的结果可以在命令行中找到:
$ date +'%Yd%j'
2013d071
首先,问题中的代码读作DDDD
,函数将其解释为DDD
(一年中的一天:071),然后是D
(一周中的一天:3)。
解决方案是用双引号 ( "
) 引用任何文字:
SQL> select to_char(sysdate, 'YYYY"d"DDD') from dual;
TO_CHAR(
--------
2013d071
有关详细信息,请参阅表 3-15 日期时间格式元素。