sql >> Databasteknik >  >> RDS >> Sqlserver

Dynamiskt SQL-fel vid konvertering av nvarchar till int

Du måste CAST alla nummer till nvarchar i sammanlänkningen.

Det finns ingen implicit konvertering av VBA-stil till sträng. I SQL Server betyder datatypsprioritet att ints är högre än nvarchar:så hela strängen försöker CAST till int.

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

Edit:Will A har en bra poäng:se upp för NULLs!



  1. Skapa en kall standby för PostgreSQL med Amazon AWS

  2. Stäng av varningar och fel på PHP och MySQL

  3. Oracle skapar en globaliseringsstödmiljö

  4. Verkställighetsplanens inverkan på ASYNC_NETWORK_IO väntan – del 1