Veröffentlicht 27. Februar 200421 j Hallo, kann mir jemand ein SQL statement geben, in welchen einer Variable. das Datum der letzen woche (Montag) und (Freitag in eine zweite)automatisch zugewiesen wird. D.h. jedem Montag früh mir das Datum vom Montag davor gibt. D.h. Jeden Montag wird das script ausgeführt und liefert: z.B. @date1 = (Montag vor einer woche) @date2= (Freitag letze woche) Vielen Dank für die Hilfe
27. Februar 200421 j Hallo, das alles in einer SQL Anweisung stelle ich mir schwierig vor. Welche DB denn? Frank
27. Februar 200421 j DECLARE @tag datetime SET @tag = DATEADD(d, -7, getdate()) WHILE (DATENAME(dw, @tag) <> 'Montag') SET @tag = DATEADD(d, -1, @tag) [color=green]-- [i]Die beiden folgenden Zeilen geben die berechneten Werte aus.[/i] -- [i]Es ist genauso möglich, diese Daten anderen Variablen zuzuweisen, [/i] -- [i]oder sie in einer Tabelle zur weiteren Verwertung auszugeben.[/i] -- [i]Den Part überlasse ich aber dir, da du keine Spezifikationen angegeben hast.[/i][/color] PRINT DATENAME(dw, @tag) + ', ' + CONVERT(varchar(12), @tag, 106) PRINT DATENAME(dw, DATEADD(d, 4, @tag)) + ', ' + CONVERT(varchar(12), DATEADD(d, 4, @tag), 106) [b]Ausgabe: (gültig für diese Woche)[/b] Montag, 16 Feb 2004 Freitag, 20 Feb 2004
27. Februar 200421 j Hi, Danke! Habe es eben ausprobiert, nur ist es irgendwie nicht kompatibel zu Sybase, komisch..
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.