08. januar 2002 - 15:59
												Der er
									2 kommentarer													og
					1 løsning									
									
		 
		
			
\"Flot\" håndtering af d. 31 i år 2001......
			select to_char(to_date(\'31-12-2001\',\'dd/mm/yyyy\') ,\'IYYY\') YEAR from dual
giver mig resultatet 2002.... Det virker fint for 
d. 31 år 1999 og 2000. Det virker som en lidt sjov håndtering af år 2000 problemet *g*
Har jeg overset noget? Eller har oracle en bug som jeg ikke ville være særligt stolt af som udvikler at have været med til?
					
		
	 
		
								
					
				08. januar 2002 - 18:49
				#3
						
		 
		
			Løsningen ligger i at der er tale om et årstal i ISO-format. En iso-uge starter på en mandag og slutter på en søndag. Afhængig af ugedagen for første januar, er den uge som skærer nytåret enten uge 53 i \"året før\" eller uge 1 i \"året efter\". Og ISO-året følger ISO-ugen.
Det kan læses i \"Oracle8i National Language Support Guide\".
\"To support the ISO standard, a format element IW is provided that returns the ISO week number. In addition, format elements I IY IYY and IYYY, equivalent in behavior to the format elements Y, YY, YYY, and YYYY, return the year relating to the ISO week number. 
In the ISO standard, the year relating to an ISO week number can be different from the calendar year. For example, 1st Jan 1988 is in ISO week number 53 of 1987. A week always starts on a Monday and ends on a Sunday. 
If January 1 falls on a Friday, Saturday, or Sunday, then the week including January 1 is the last week of the previous year, because most of the days in the week belong to the previous year. 
If January 1 falls on a Monday, Tuesday, Wednesday, or Thursday, then the week is the first week of the new year, because most of the days in the week belong to the new year. 
For example, January 1, 1991, is a Tuesday, so Monday, December 31, 1990, to Sunday, January 6, 1991, is week 1. Thus, the ISO week number and year for December 31, 1990, is 1, 1991. To get the ISO week number, use the format mask \"IW\" for the week number and one of the \"IY\" formats for the year.\"