Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Dynamischer SQL-Fehler beim Konvertieren von nvarchar in int

Sie müssen alle Zahlen in der Verkettung in nvarchar umwandeln.

Es gibt keine implizite Konvertierung des VBA-Stils in eine Zeichenfolge. In SQL Server bedeutet Vorrang für Datentypen, dass ints höher als nvarchar sind:also versucht die gesamte Zeichenfolge, in int umgewandelt zu werden.

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

Bearbeiten:Will A hat einen guten Punkt:Achten Sie auf NULLen!