1

今週の月曜日の日付を探したい

declare @td datetime
set @td = CONVERT(datetime,'28-07-2013',105)
print @td

declare @dt datetime
set @dt = (SELECT DATEADD(wk, DATEDIFF(wk,0,@td), 0) MondayOfCurrentWeek)
print @dt

これは私に正しい結果を与えています。日曜日の日付を与えた場合にのみ、間違った答えを与えています.日曜日が週の最初の日で、2013 年 7 月 29 日

私も試してみました

Set DateFirst 1

通り抜けた

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/8cc3493a-7ae5-4759-ab2a-e7683165320b/problem-with-datediff-and-datefirst

助けて、

ここで専門家から助けを得たいと思っています

ありがとうございました

4

4 に答える 4

1

試してみてください....問題を解決してください

DECLARE @DayOfTheWeek NVARCHAR(12)
SET @DayOfTheWeek=(SELECT DATENAME(DW,GETDATE()))
IF(@DayOfTheWeek='SUNDAY')
    BEGIN
        SELECT DATEADD(WK, DATEDIFF(WK,0,DATEADD(DAY, -1, GETDATE())), 0) MONDAYOFCURRENTWEEK
    END
ELSE
    BEGIN
        SELECT DATEADD(WK, DATEDIFF(WK,0,GETDATE()), 0) MONDAYOFCURRENTWEEK
    END
于 2013-07-17T09:25:28.480 に答える
1

週の最初の日付と最後の週の日付に関する詳細は、こちらで確認できます http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50624

于 2013-07-05T12:57:41.593 に答える