在我的存储过程中,我正在尝试使用此代码传递参数
select @enddate = CONVERT(varchar, @days) + '-' + left(@P5, 4) + '20' + right(@P5, 2)
这里@enddate
数据类型是varchar(12)
和@days
数据类型是int
和@P5
数据类型是varchar(20)
它显示以下错误
从字符串转换日期和/或时间时转换失败
对此有什么想法吗?
提前致谢
在我的存储过程中,我正在尝试使用此代码传递参数
select @enddate = CONVERT(varchar, @days) + '-' + left(@P5, 4) + '20' + right(@P5, 2)
这里@enddate
数据类型是varchar(12)
和@days
数据类型是int
和@P5
数据类型是varchar(20)
它显示以下错误
从字符串转换日期和/或时间时转换失败
对此有什么想法吗?
提前致谢
在尝试测试此代码时,我没有设法触发您看到的相同错误。
DECLARE @enddate AS VARCHAR(12) ,
@days AS INT ,
@P5 AS VARCHAR(20);
SELECT @days = 5 ,
@p5 = '2012-12-12';
SELECT @enddate = CONVERT(VARCHAR, @days) + '-' + LEFT(@P5, 4) + '20' + RIGHT(@P5, 2);
PRINT @enddate;
产生结果
5-20122012
没有错误。
您建议这是一个更大的存储过程的一部分。变量中的数据不是您认为的那样,或者错误在您的程序中的其他地方。