2017-03-20 2 views
1

Ich habe eine SQL-Abfrage, wo ich das Wochenenddatum als Montag angezeigt werden muss. Ich testete den folgenden Code, erhielt aber Antworten am Samstag, Sonntag, Montag usw. Bitte helfen Sie?Ende der Woche - Muss Montag sein

SELECT DATEADD(DD, 7-(DATEPART(DW, MIN([Date]))) 
    , MIN([Date])) AS EndOfWeek, COUNT(*) AS TermsPerWeek 

FROM Table 

WHERE [Date] NOT LIKE 'null' 
AND ([Date] LIKE '%2016%' OR [Date] LIKE '%2017%') 

GROUP BY DATEPART(WEEK,[Date]); 
+1

[Schlechte Gewohnheiten zu kicken: Verwenden von Kurzschrift mit Datum/Uhrzeit-Operationen - Aaron Bertrand] (http://sqlblog.com/blogs/aaron_bertrand/archive/2011/09/20/bad-habits-to-kick-use -shorthand-with-date-time-operations.aspx) – SqlZim

Antwort

0

Mit set datefirst:

set datefirst = 2 

Dies wird den Beginn der Woche Dienstag, und das Ende am Montag behandeln.

+0

Fantastisch, danke. Das hat super funktioniert. –

Verwandte Themen