我正在嘗試獲取簡單報告的開始年份/月份和結束年份/月份。在我的存儲過程中,我有以下內容:MONTH(GetDate())SQL Server 2008 R2返回錯誤的月份
IF @parm_StartYear is null SET @parm_StartYear = CONVERT(VARCHAR(4), DATEPART(YYYY,DATEADD(YYYY, -1, GETDATE())));
IF @parm_StartMonth is null SET @parm_StartMonth = CONVERT(VARCHAR(2),DATEPART(MM,MONTH(GETDATE())));
IF @parm_EndYear is null SET @parm_EndYear = CONVERT(VARCHAR(4),DATEPART(YYYY,GETDATE()));
IF @parm_EndMonth is null SET @parm_EndMonth = CONVERT(VARCHAR(2),DATEPART(MM,MONTH(GETDATE())));
年份是正確的,但該月份是未來一個月。 IE瀏覽器。今天是十二月(12),但它將在一月(01)迴歸。
我是否錯過了簡單的東西或者做了什麼錯誤的事情?我看到的每個示例和其他問題都或多或少地顯示了這個確切的代碼。
OMG。很簡單,謝謝。我在這個哈哈上浪費了幾個小時。乾杯! – rookie68 2014-12-04 16:31:21
MONTH()'調用不是一個強制轉換:這是一個函數調用 – 2014-12-04 16:34:03
出於某種原因,我認爲我需要Month()調用來獲取要轉換的日期的月份部分。我迷惑自己。 – rookie68 2014-12-04 16:36:24