Deutsche SQL Server Konferenz  minimieren 

Deutsche SQL Server Konferenz


SQL Server 2008, Berechnung ISO_WEEK

Okt 16

Written by:
16.10.2007  RssIcon

Die TSQL-Funktion DATEPART() hat die neue Option ISO_WEEK. Damit ist nun die Berechnung der Wochennummer nach ISO 8601 -wie wir es hier in Europa gewöhnt sind - als eingebaute Funktion in der relationalen Maschine verfügbar. Jahr-Woche, siehe ...

wer die Wochenummer in Verbindung mit dem Jahr benötigt, könnte folgende Beispielfunktion verwenden:

create function dbo.fn_JahrIsoWeek(@d date)
returns int
as
begin
    declare
     @w     int = datepart(ISO_WEEK, @d)
    ,@m    int = month(@d)
    ,@j    int = year(@d)
    ,@r    int
    ;    
    if @m = 1 and @w > 52    -- Anfang des Jahres
    begin
        set @r = (@j - 1) * 100 + @w;    
    end
    else if @m = 12 and @w = 1    -- Ende des Jahres
    begin
        set @r = (@j + 1) * 100 + @w;    
    end
    else begin
        set @r = @j * 100 + @w;    
    end    

    return @r;
end;
(nur teilweise getestet, ist erster Entwurf)

 

Tags:
Categories:
Location: Blogs Parent Separator OPI's SQL Blog
Unser Newsletter  minimieren 

Unseren aktuellen Newsletter im PDF-Format gibt es hier zum Download:

 Das Newsletterarchiv ist im Mitgliedsbereich zugänglich.

 


 


Suche  minimieren