我用谷歌搜索并没有找到任何与我的情况相匹配的东西。
declare @from_ datetime, @to_ datetime
SET @from_ = '2013-01-01'
SET @to_ = '2013-10-01'
DECLARE @query NVARCHAR(4000)
SET @query = N'
DECLARE @from datetime, @to datetime
SET @from = CAST('''+@from_+''' AS datetime)
SET @to = CAST('''+@to_+''' AS datetime)
'
给出错误:
Msg 241, Level 16, State 1, Line 34
Conversion failed when converting date and/or time from character string.
SET @query = N'
34号线
我也试过有CONVERT(datetime, '+@from_+', 102)
和没有, 102)
和'''
并且只有
SET @from = CAST('+@from_+' AS datetime)
结果相同
解决方案是 PIVOT 的一部分,所以我有声明、选择、透视和执行 @query。解决方案的其余部分运行良好,直到我开始使用日期时间。