我收到标题中描述的错误,其中我的代码如下所示:
declare
@cols numeric(10,0),
@sql numeric(10,0)
select @cols = isnull(@cols + ', ', '') + '[' + T.AmountPayd + ']' from (select distinct AmountPayd from t1) as T
select @sql = '
select *
from t1 as T
pivot
(
sum(T.AmountPayd) for T.Customer in (' + @cols + ')
) as P'
exec sp_executesql @sql = @sql
错误发生在这一行:
select @cols = isnull(@cols + ', ', '') + '[' + T.AmountPayd + ']' from (select distinct AmountPayd from t1) as T
在我的表中 AmountPayd 被声明为数字数据类型。
我得到的错误是:
消息 8114,级别 16,状态 5,第 108 行转换数据类型时出错
varchar 到数字。
您已将 @cols 声明为 numeric(10,0),但您试图为其分配文本。
可能需要将其声明为 nvarchar(max)。
附注
通过连接 AmountPayd 您应该获得客户列表吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)