Почему эта ошибка преобразования типа SQL Server 2008 - PullRequest
0 голосов
/ 01 марта 2011

Я создаю таблицу как

CREATE TABLE #tab(ID INT,Value FLOAT)

внутри цикла (@n - счетчик) Я динамически вставляю элементы:

SET @sql = 'INSERT #tab (ID, значение) SELECT' + @ n + ', SUM (' + @ x + '*' + @ y + ') FROM' + @table_name; при попытке выполнить это:

Conversion failed when converting the varchar value 'INSERT #tab  (ID,Value) SELECT ' to data type int.

Я не понимаю, почему он говорит преобразование, поскольку идентификатор определяется как INT.

Как вы исправите этот запрос?

1 Ответ

1 голос
/ 01 марта 2011

Вы можете использовать функцию CAST .

'SELECT '+ CAST(@n AS VARCHAR) +', SUM('+@x+'*'+@y+') FROM '

Ошибка произошла, потому что вы пытаетесь присоединиться к CHAR с INT. В этом случае CHAR - это строка SELECT .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...