sql >> Databáze >  >> RDS >> Sqlserver

Dynamická chyba SQL při převodu nvarchar na int

V zřetězení musíte všechna čísla přenést na nvarchar.

Neexistuje žádná implicitní konverze stylu VBA na řetězec. V SQL Server priorita datového typu znamená, že ints jsou vyšší než nvarchar:takže celý řetězec se snaží být CAST na int.

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

Edit:Will A má dobrý postřeh:pozor na NULL!



  1. Vysvětlení složených jednotek data a času MariaDB

  2. INNER JOIN stejný stůl

  3. SQL, jak používat SELECT

  4. Jak získat přístup k objektu RowDataPacket