6 Stimmen

Wie kann ich den letzten Tag des Monats in SQL berechnen?

Speziell MSSQL 2005.

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...

0voto

0voto

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

0voto

David Aldridge Punkte 50293

Der Vollständigkeit halber: In Oracle würden Sie etwa so vorgehen ...

select add_months(trunc(sysdate,'MM'),1) ...

oder

select last_day(sysdate)+1 ...

0voto

van Punkte 66788
DATEADD(dd, -1, DATEADD(mm, +1, DATEADD(dd, 1 - DATEPART(dd, @myDate), @myDate)))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X