Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Динамична SQL грешка при преобразуване на nvarchar в int

Трябва да CAST всички числа към nvarchar в конкатенацията.

Няма имплицитно преобразуване в стил VBA в низ. В SQL Server приоритетът на типа данни означава, че ints са по-високи от nvarchar:така че целият низ се опитва да бъде CAST към int.

SET @SQL =  'SELECT ' + @GName + ' AS GrName ,' + @BR
              + CAST(@T_ID AS nvarchar(10)) + ' AS To_ID ,' ...

Редактиране:Will A има добра гледна точка:следете за NULL!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Определете кои обекти препращат към таблица в SQL Server

  2. как да откриете изчакване на sql сървъра от .NET приложение, без да използвате catch Exception

  3. sp_dropserver и sp_addserver не работят

  4. Където стойност в колона, съдържаща стойности, разделени със запетая

  5. Тригери на SQL Server – Част 2 DDL &LOGON тригери