你好,我正在嘗試修改這個函數來返回我想成爲星期一的第一天的第一天的日期。問題是當輸入日期是星期天它返回下一個星期一而不是以前one.For例如,它應該產生輸入 - >輸出給本週第一天
2013-06-11 -> 2013-06-10
2013-06-16 -> 2013-06-10
因爲星期天是我加的情況下
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[ufn_GetFirstDayOfWeek]
(@pInputDate DATETIME)
RETURNS DATETIME
BEGIN
SET @pInputDate = CONVERT(VARCHAR(10), @pInputDate, 111)
CASE WHEN DATENAME(dw, @pInputDate) = 'Sunday' THEN RETURN DATEADD(DD, -5- DATEPART(DW, @pInputDate),
@pInputDate) ELSE RETURN DATEADD(DD, 2- DATEPART(DW, @pInputDate),
@pInputDate) END
END
問題是,我得到一個錯誤,唯一的問題,關鍵詞附近的語法不正確'Case'。是否有更好的方法來解決這個問題?