sql >> Database teknologi >  >> RDS >> Sqlserver

Dynamisk SQL-fejl ved konvertering af nvarchar til int

Du skal CAST alle numre til nvarchar i sammenkædningen.

Der er ingen implicit VBA-stilkonvertering til streng. I SQL Server betyder datatypeprioritet, at ints er højere end nvarchar:så hele strengen forsøger at blive CAST til int.

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

Edit:Will A har en god pointe:hold øje med NULLs!



  1. Få liste over tabeller med eller uden primær nøglebegrænsning i alle databaser fra SQL Server Instance - SQL Server / TSQL Tutorial Del 61

  2. Hvordan får jeg et antal tilknyttede rækker i en venstre join i MySQL?

  3. ListView Kontrol Træk slip hændelser Håndtering

  4. Kan jeg indtaste adgangskoden én gang for flere mysql-kommandolinjekald, hvor forespørgslerne ikke er kendt på forhånd?