我在傳遞日期參數時遇到問題。錯誤在轉換日期時間從字符串在SQL Server 2005中
我得到的錯誤從字符串轉換日期時間時
轉換失敗。
我的存儲過程是下面的,請讓我知道該怎麼做,
ALTER PROCEDURE [dbo].[WEEKLY_REPORT_PROC](
@START_DATE DATETIME,
@END_DATE DATETIME,@PRACTISE_NAME NVARCHAR(MAX))--,
-- @D1 DECIMAL(5,2),
-- @D2 DECIMAL(5,2),
-- @D3 DECIMAL(5,2),
-- @D4 DECIMAL(5,2),
-- @D5 DECIMAL(5,2),
-- @D6 DECIMAL(5,2),
-- @D7 DECIMAL(5,2))
AS
BEGIN
EXEC SP_EXECUTESQL @QUERY
DECLARE CP_DETAILS CURSOR FOR SELECT * FROM #TEMP
OPEN CP_DETAILS
FETCH NEXT FROM CP_DETAILS INTO @RESOURCE_NAME,@DAY1,@DAY2,@DAY3,@DAY4,@DAY5,@DAY6,@DAY7,@UTILIZATION
WHILE (@@FETCH_STATUS =0)
BEGIN
SET @UTILIZATION = dbo.UTILIZATION(@START_DATE,@END_DATE,@DAY1, @DAY2,@DAY3,@DAY4,@DAY5,@DAY6,@DAY7)
--INSERT INTO @WEEKLY_REPORT_DETAILS_INFORMATION VALUES(@RESOURCE_NAME,
-- @DAY1,@DAY2,@DAY3,@DAY4,@DAY5,@DAY6,@DAY7,@UTILIZATION)
UPDATE #TEMP SET UTILIZATION = @UTILIZATION WHERE [email protected]_NAME
FETCH NEXT FROM CP_DETAILS INTO @RESOURCE_NAME,@DAY1,@DAY2,@DAY3,@DAY4,@DAY5,@DAY6,@DAY7
END
CLOSE CP_DETAILS
DEALLOCATE CP_DETAILS
SELECT * FROM #TEMP
--SELECT DBO.RETRIEVE(@QUERY) AS QUERY FROM CP_DETAILS
PRINT @QUERY
DROP TABLE #TEMP
RETURN
END
END
在中間我用一個用戶自定義函數utilization
,並傳遞參數如日期字段
so ...你傳遞給你的變量是什麼值? – RandomUs1r 2013-03-15 16:24:45
@ RandomUs1r的執行是EXEC WEEKLY_REPORT_PROC'2012-03-31','2012-04-06','CS' – saichandan 2013-03-15 16:28:11
您是否嘗試過'EXEC WEEKLY_REPORT_PROC'20120331','20120406','CS''?對於[日期時間常量](http://msdn.microsoft.com/zh-cn/library/ms187819.aspx),「YYYYMMDD」始終被解釋爲一致,但「YYYY-MM-DD」可能不是。但是你的代碼是不完整的,因爲你沒有顯示動態SQL部分:'@ QUERY'是什麼,它來自哪裏?作爲一個完整的猜測,你的動態SQL是錯誤的,但沒有更多的信息很難說。你是否添加了一些調試代碼來確定錯誤發生的位置? – Pondlife 2013-03-15 16:49:24