分类: Oracle
2008-12-18 17:00:42
As can be seen in the link above, Oracle has 2 format masks that return a (different) week number for a input date.
The WW format mask very simply calculates week 1 starting on the first day of the year and continues to the seventh day of the year, etc. etc. Because a year consists of 365 or 366 days this means that 31-DEC (and in leap years 30-DEC) falls in week 53.
The IW format mask follows ISO-8601 to assign a number to a week of the year. The ISO week always starts on a Monday (this is the international standard, different than the US standard!), the week that contains the first Thursday in January is week nr 1. All previous days of that week (the last days of the preceding year) also belong to "week 1" of that year.
This means that in the ISO calendar there is only a week 53 if the 1-JAN of that year was between Thursday and Sunday (or Wednesday in leap years). For example 1-JAN-2009 falls on a Thursday, making that whole week "week 1 of year 2009", 1-JAN-2010 falls on a Friday, which means that that week is still part of the previous year 2009, making that the 53rd week of 2009.
另外附上用於日期和時間的Format:
FORMAT | 描述 |
HH | 一天的小時數 (01-12) |
HH12 | 一天的小時數 (01-12) |
HH24 | 一天的小時數 (00-23) |
MI | 分鐘 (00-59) |
SS | 秒 (00-59) |
MS | 毫秒 (000-999) |
US | 微秒 (000000-999999) |
SSSS | 午夜後的秒 (0-86399) |
AM 或 A.M. 或 PM 或 P.M. | 正午標識(大寫) |
am 或 a.m. 或 pm 或 p.m. | 正午標識(小寫) |
Y,YYY | 帶逗號的年(4 和更多位) |
YYYY | 年(4和更多位) |
YYY | 年的後三位 |
YY | 年的後兩位 |
Y | 年的最後一位 |
IYYY | ISO 年(4位或更多位) |
IYY | ISO 年的最後 3 位 |
IY | ISO 年的最後 2 位 |
I | ISO 年的最後一位 |
BC 或 B.C. 或 AD 或 A.D. | 紀元標識(大寫) |
bc 或 b.c. 或 ad 或 a.d. | 紀元標識(小寫) |
MONTH | 全長大寫月份名(空白填充為9字元) |
Month | 全長混合大小寫月份名(空白填充為9字元) |
month | 全長小寫月份名(空白填充為9字元) |
MON | 大寫縮寫月份名(3字元) |
Mon | 縮寫混合大小寫月份名(3字元) |
mon | 小寫縮寫月份名(3字元) |
MM | 月份號(01-12) |
DAY | 全長大寫日期名(空白填充為9字元) |
Day | 全長混合大小寫日期名(空白填充為9字元) |
day | 全長小寫日期名(空白填充為9字元) |
DY | 縮寫大寫日期名(3字元) |
Dy | 縮寫混合大小寫日期名(3字元) |
dy | 縮寫小寫日期名(3字元) |
DDD | 一年裏的日子(001-366) |
DD | 一個月裏的日子(01-31) |
D | 一周裏的日子(1-7;周日是1) |
W | 一個月裏的周數(1-5)(第一周從該月第一天開始) |
WW | 一年裏的周數(1-53)(第一周從該年的第一天開始) |
IW | ISO 一年裏的周數(第一個星期四在第一周裏) |
CC | 世紀(2 位) |
J | 儒略日(自西元前4712年1月1日來的天數) |
Q | 季度 |
RM | 羅馬數字的月份(I-XII;I=JAN)(大寫) |
rm | 羅馬數字的月份(I-XII;I=JAN)(小寫) |
TZ | 時區名 (大寫) |
tz | 時區名 (小寫) |