Я получаю сообщение об ошибке, описанное в названии, где мой код выглядит следующим образом:Тип ошибки преобразования данных VARCHAR в цифровой динамической оси
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 объявляется как числовой тип данных. Ошибки я получаю:
Msg 8114, Level 16, State 5, строка 108 Ошибка преобразования типа данных VARCHAR в числовой.
Вы хотите поделиться с этим кодом и сообщить об ошибке? –
Ok Я отредактировал мой вопрос, где было добавлено сообщение об ошибке – vidooo
'@ sql' не должно быть числовой переменной ... и не должно' @ cols' – scsimon