我有一個存儲功能,它應該弄清楚工資單週我的開始日期。這是「星期四」然而,我的存儲過程總是讓我的開始日期爲「星期五」我的聲明和設置功能有什麼問題?我希望我的StartWeekDay是「星期四」 ...「lStartday」設置爲在帳戶表「5」我的代碼如下:如何找出每週開始日期
DECLARE @StartWeekDay int
SET @StartWeekDay = (Select lStartDay From Account Where lLocationID = 1)
DECLARE @CurrentDate DateTime
SET @CurrentDate = GetDate()
DECLARE @CurrentWeekDay int
SET @CurrentWeekDay = DATEPART(dw,@CurrentDate)
DECLARE @Diff int
SET @Diff = @StartWeekDay - @CurrentWeekDay
SET @Diff = Case When @Diff > 0 Then -6 When @Diff = 0 Then 0 Else @Diff End
--
DECLARE @DaysToStart int
SET @DaysToStart = (DatePart(dw,@CurrentDate) - @StartWeekDay)
IF @DaysToStart <= .1
BEGIN
SET @DaysToStart = @DaysToStart + 7
END
DECLARE @myStartWeekDate DateTime
--SET @myStartWeekDate = dbo.DateOnly(DATEADD(d,@Diff,@CurrentDate))
SET @myStartWeekDate = Convert(nvarchar,DateAdd(d,[email protected],@CurrentDate),101) -- getting DATE only
--
你怎麼落得寶石李當@Diff = 0 Then 0 Else @ Diff'? – 2012-08-16 13:24:53