Speziell MSSQL 2005.
Antworten
Zu viele Anzeigen?
David Collie
Punkte
665
Amy B
Punkte
104656
DECLARE
@Now datetime,
@Today datetime,
@ThisMonth datetime,
@NextMonth datetime,
@LastDayThisMonth datetime
SET @Now = getdate()
SET @Today = DateAdd(dd, DateDiff(dd, 0, @Now), 0)
SET @ThisMonth = DateAdd(mm, DateDiff(mm, 0, @Now), 0)
SET @NextMonth = DateAdd(mm, 1, @ThisMonth)
SET @LastDayThisMonth = DateAdd(dd, -1, @NextMonth)
Manchmal braucht man wirklich den letzten Tag dieses Monats, aber oft möchte man auch den letzten Tag des Monats beschreiben. Zeitintervall dieses Monats . Dies ist die beste Art und Weise, um die Zeitintervall dieses Monats :
WHERE @ThisMonth <= someDate and someDate < @NextMonth
David Aldridge
Punkte
50293
van
Punkte
66788
- See previous answers
- Weitere Antworten anzeigen
0 Stimmen
Ich bin mir nicht sicher, ob die Antwort, die Sie als akzeptiert markiert haben, wirklich funktioniert. Lassen Sie "2009 Jan 30" durchlaufen und sehen Sie, was dabei herauskommt?
0 Stimmen
Hallo? Die akzeptierte Antwort funktioniert nicht...
0 Stimmen
Dems, ich habe dies als Inspiration für eine Lösung verwendet, die ich implementiert habe, aber das ist fast ein Jahr her, so dass ich mich nicht mehr genau erinnern kann, was ich getan habe...
0 Stimmen
Wow, ich habe gerade das "2008" bemerkt. Ich habe KEINE Ahnung, wie ich diese Frage gefunden habe, es sei denn, SO hat die Reihenfolge der Auflistung der "neuen" Fragen ein wenig durcheinander gebracht.
0 Stimmen
@Dems: Du hast Recht, meine alte Lösung hatte einen Fehler. Ich habe sie auf eine bessere Lösung aktualisiert, die nicht den gleichen Fehler hat.