sql >> Database >  >> RDS >> Sqlserver

Dynamische SQL-fout bij het converteren van nvarchar naar int

Je moet alle nummers CAST naar nvarchar in de aaneenschakeling.

Er is geen impliciete conversie van VBA-stijl naar string. In SQL Server betekent prioriteit van het gegevenstype dat ints hoger zijn dan nvarchar:dus de hele string probeert te worden CAST naar int.

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

Bewerken:Will A heeft een goed punt:let op NULL's!



  1. Ongedefinieerde variabele:POST - PHP en MySQL

  2. mysql kapt geheel getal af tot een vreemd getal bij zoeken en invoegen

  3. Kan het maken van indexen bestaande indexen gebruiken?

  4. Betere PHP, MySql, HTML en JavaScript IDE