Czy można ustawić początek tygodnia dla funkcji T-SQL DATEDIFF?

używamDATEDIFF funkcja filtrowania rekordów dodanych tylko w tym tygodniu:

DATEDIFF(week, DateCreated, GETDATE()) = 0

i zauważyłem, co się zakłada, co tydzień zaczyna się w niedzielę. Ale w moim przypadku wolałbym ustawić początek tygodnia w poniedziałek. Czy jest to możliwe w T-SQL?

Dzięki!

Aktualizacja:

Poniżej znajduje się przykład pokazujący, co DATEDIFF nie sprawdza@@ DATEFIRST zmienna, więc potrzebuję innego rozwiązania.

SET DATEFIRST 1;

SELECT 
    DateCreated, 
    DATEDIFF(week, DateCreated, CAST('20090725' AS DATETIME)) AS D25, 
    DATEDIFF(week, DateCreated, CAST('20090726' AS DATETIME)) AS D26
FROM
(
    SELECT CAST('20090724' AS DATETIME) AS DateCreated
    UNION 
    SELECT CAST('20090725' AS DATETIME) AS DateCreated
) AS T

Wydajność:

DateCreated             D25         D26
----------------------- ----------- -----------
2009-07-24 00:00:00.000 0           1
2009-07-25 00:00:00.000 0           1

(2 row(s) affected)

26 lipca 2009 r. Jest niedziela, a chcę, aby DATEDIFF zwracał również 0 w trzeciej kolumnie.

questionAnswers(2)

yourAnswerToTheQuestion