danke
das schaue ich mir gleich mal an ...

Gru�
Dominik

** -----Urspr�ngliche Nachricht-----
** Von: Claudius Ceteras [mailto:[EMAIL PROTECTED]
** Gesendet: Mittwoch, 11. Februar 2004 09:42
** An: [EMAIL PROTECTED]
** Betreff: RE: [Database.asp] SQL KW 01/2005 <> RL KW01/2005
** 
** 
** Hab ich im web gefunden... Es gibt aber sicher noch andere k�rzere
** Implementationen:
** 
** CREATE PROC dbo.ISOweek  (
**     @DATE datetime
** )
** AS
** BEGIN
**     DECLARE @ISOweek  int
** 
**     SET @ISOweek = DATEPART(wk, @DATE) + 1 -
**         DATEPART(wk, CAST( DATEPART( yy, @DATE ) AS CHAR(4) 
** ) + '0104' )
** --Special cases: Jan 1-3 may belong to the previous year
**     IF ( @ISOweek = 0 )
**     BEGIN
**         DECLARE @Date2    datetime
**         SET @DATE2 = CAST( DATEPART( yy, @DATE ) - 1 AS CHAR(4) ) +
**             '12' + CAST( 24 + DATEPART( DAY, @DATE ) AS CHAR(2) )
** -- Nicht so doll: rekursiver Aufruf
**         EXEC @ISOWeek = ISOWeek @DATE2
**         SET @ISOWeek = @ISOWeek + 1
**     END
** --Special case: Dec 29-31 may belong to the next year
**     IF ( ( DATEPART( mm, @DATE ) = 12 ) AND
**        ( ( DATEPART( dd, @DATE ) - DATEPART( dw, @DATE) ) >= 28 ) )
**         SET @ISOweek=1
**    RETURN(@ISOweek)
** END
** 
** Und der Test
**     DECLARE @week    int
**     DECLARE @date    datetime
**     SET @date = '20000101'
**     EXEC @Week = ISOWeek @date
**     -- Noch die 52. Woche
**     SELECT @Week
**     SET @date = '20000103'
**     EXEC @Week = ISOWeek @date
**     -- die 1.
**     SELECT @Week
** 
** 
** Claudius 
** 
** > -----Original Message-----
** > From: [EMAIL PROTECTED] 
** > [mailto:[EMAIL PROTECTED] On Behalf Of 
** > Kovacic-Vo�, Dominik-Pascal
** > Sent: Dienstag, 10. Februar 2004 10:55
** > To: '[EMAIL PROTECTED]'
** > Subject: AW: [Database.asp] SQL KW 01/2005 <> RL KW01/2005
** > 
** > tja, das hilft aber nicht wirklich weiter und scheinbar ist 
** > es nur ein Thema f�r uns beide
** > 
** > w�rde ja gerne cross posten, um zu schauen, was andere dazu 
** > sagen ... aber dann bekomme ich bestimmt einen auf den Deckel ;)
** > 
** > ** -----Urspr�ngliche Nachricht-----
** > ** Von: Alexander Schmid [mailto:[EMAIL PROTECTED]
** > ** Gesendet: Freitag, 6. Februar 2004 13:23
** > ** An: [EMAIL PROTECTED]
** > ** Betreff: Re: [Database.asp] SQL KW 01/2005 <> RL KW01/2005
** > **
** > **
** > ** also das steht in der hilfe.... :-/
** > **
** > ** Die Datumseinheit week (wk, ww) spiegelt an SET DATEFIRST
** > ** vorgenommene �nderungen wider. Der 1. Januar eines
** > ** beliebigen Jahres definiert die Anfangszahl f�r die
** > ** Datumseinheit week. Beispiel: DATEPART(wk, 'Jan 1, xxxx') =
** > ** 1, wobei xxxx f�r ein beliebiges Jahr steht.
** > **
** > ** weil der 1.1.05 aber ein samstag ist, wird automatich nach
** > ** dem we mit einer neuen woche begonnen...
** > ** tolle logik!!!
** > **
** > ** [EMAIL PROTECTED] schrieb am 06.02.04 13:13:55:
** > **
** > ** Nachtrag:
** > **
** > ** select DATEPART(wk,'2004-12-31 00:00:00') = 53
** > ** select DATEPART(wk,'2005-01-01 00:00:00') = 1
** > ** select DATEPART(wk,'2005-01-03 00:00:00') = 2
** > **
** > ** also waren meine Ausf�hrungen nicht ganz richtig, aber
** > ** dennoch stellt sich
** > ** hier das Problem nach wie vor.
** > **
** > ** Gru�
** > ** Dominik
** > **
** > ** ** -----Urspr�ngliche Nachricht-----
** > ** ** Von: "Kovacic-Vo�, Dominik-Pascal" 
** > [mailto:[EMAIL PROTECTED]
** > ** ** Gesendet: Freitag, 6. Februar 2004 12:54
** > ** ** An: '[EMAIL PROTECTED]'
** > ** ** Betreff: [Database.asp] SQL KW 01/2005 <> RL KW01/2005
** > ** **
** > ** **
** > ** ** Hallo
** > ** **
** > ** ** ich stehe hier gerade vor einem kleinen Problem.
** > ** **
** > ** ** Wem ist schon alles aufgefallen, dass die KW01 im Jahr 2005
** > ** ** zwischen dem SQL
** > ** ** Server und dem realem Leben abweicht?
** > ** **
** > ** ** Im realem Leben ist KW01/2005 vom 03. Januar 2005 bis 09. 
** > ** ** Januar 2005.
** > ** ** F�r den SQL Server aber vom 27.12.2004 bis zum 02. Januar
** > ** ** 2005 und damit ist
** > ** ** KW02/2005 im SQL Server = KW01/2005 im real Live.
** > ** **
** > ** ** Was issn das f�r ein Dummfug ???
** > ** ** Theorie: Das Jahr 2004 hat 53 Kalenderwochen (vermutlich
** > ** ** durch Schaltjahr
** > ** ** und noch wegen so ein paar Kleinigkeiten). Intern rechnet
** > ** ** der SQL Server
** > ** ** aber nur mit 52 Kalenderwochen.
** > ** **
** > ** ** Meinem Kunden gef�llt das gar nicht. Solange mir jetzt bitte
** > ** ** keiner sagt,
** > ** ** dass ich im Jahre 2005 alle Anzeigen f�r Kalenderwochen -1
** > ** ** machen muss, bin
** > ** ** ich f�r alle Vorschl�ge dankbar ;)
** > ** **
** > ** ** Gru�
** > ** ** Dominik
** > ** ** _______________________________________________
** > ** ** Database.asp mailing list
** > ** ** [EMAIL PROTECTED]
** > ** ** http://www.glengamoi.com/mailman/listinfo/database.asp
** > ** **
** > ** **
** > ** **
** > ** _______________________________________________
** > ** Database.asp mailing list
** > ** [EMAIL PROTECTED]
** > ** http://www.glengamoi.com/mailman/listinfo/database.asp
** > **
** > ** --
** > **
** > **
** > ** _______________________________________________
** > ** Database.asp mailing list
** > ** [EMAIL PROTECTED]
** > ** http://www.glengamoi.com/mailman/listinfo/database.asp
** > **
** > **
** > **
** > _______________________________________________
** > Database.asp mailing list
** > [EMAIL PROTECTED]
** > http://www.glengamoi.com/mailman/listinfo/database.asp
** > 
** 
** _______________________________________________
** Database.asp mailing list
** [EMAIL PROTECTED]
** http://www.glengamoi.com/mailman/listinfo/database.asp
** 
** 
** 
_______________________________________________
Database.asp mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/database.asp

Antwort per Email an