Wie kommt man Woche Datum von einem bestimmten Zeitpunkt von einem DateAdd Ausdruck zurückgegeben enden
-
20-09-2019 - |
Frage
Nicht sicher, wie mein aktuellen Ausdruck zu nehmen und die Woche zum Tag der Woche.
Mein aktueller Ausdruck gibt das Datum, eine Woche von heute.
DateAdd(DateInterval.WeekOfYear, 1, today())
Was will ich stattdessen zu tun ist das Enddatum zurückkehrt (Samstag) diese Woche statt.
Was muss ich zu diesem Ausdruck hinzuzufügen, um das gewünschte Ergebnis zu erhalten?
Danke!
Okay, sieht aus wie ich habe es, aber es ist hässlich. Kann mir jemand helfen diese rationalisieren?
Hier ist, was ich habe, basierend auf Raj Beispiel in einen Ausdruck drehen:
= "Eine Woche Projizierte Backlog w / e" & DateAdd (DateInterval.Day, -1 * Datepart (DateInterval.WeekDay, (DateAdd (DateInterval.WeekOfYear, 1, heute ()))) + 7, (DateAdd (DateInterval.WeekOfYear, 1, heute ())))
Lösung
Versuchen Sie diese
Declare @DateValue DateTime = '3/1/2010'
select DATEADD (D, -1 * DatePart (DW, @DateValue) + 7, @DateValue)
ich im Grunde berechnet, was Tag der Woche dann eingehendes Datum war, und dann weich berechnet, um den Anfang der Woche mit dem -1 Multiplikator, und freuen uns auf Samstag durchzogen von 7 ihm hinzufügen.
Natürlich ist dies nur funktioniert, wenn Sie SQL Server in die Woche gesetzt beginnt am Sonntag
Für SQL Server Reporting Services, ich denke, das sollte für Sat-Anlagen der aktuellen Woche arbeiten
DATEADD (DateInterval.Day, -1 * DatePart (DateInterval.DayOfWeek, Today()) + 7, Today())
Für Sa nächster Woche
DATEADD (DateInterval.Day, -1 * DatePart (DateInterval.DayOfWeek, Today()) + 14, Today())
Andere Tipps
Wie wäre es?
select dateadd(ww,-2,'1-27-2014')+4