繁体   English   中英

从SQL Server 2005中的字符串转换日期时间时出错

[英]error in converting datetime from character string in 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 RESOURCE_NAME=@RESOURCE_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 ,以及使所述参数为日期字段

尝试...

DECLARE @startdate varchar(30), @enddate varchar(30)

SET @startdate = CONVERT(varchar(10), '2012-03-31', 101)
SET @enddate = CONVERT(varchar(10),'2012-04-06', 101)


EXEC WEEKLY_REPORT_PROC @startdate, @enddate,'CS'

您的问题是您要传入的内容:YYY-MM-dd不会通过SQL自动转换为日期时间,例如'MM / dd / YYYY',将其转换为101格式应该可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM