Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dynamiczny błąd SQL podczas konwersji nvarchar na int

Musisz przesłać wszystkie liczby na nvarchar w konkatenacji.

Nie ma niejawnej konwersji stylu VBA na ciąg. W SQL Server pierwszeństwo typu danych oznacza, że ​​ints są wyższe niż nvarchar:więc cały ciąg próbuje być CAST do int.

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

Edycja:Czy A ma dobrą rację:uważaj na NULL!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008 R2 utknął w trybie pojedynczego użytkownika

  2. Utworzyć procedury składowane przy użyciu Entity Framework Code First?

  3. SELECT filtrowanie wyciągów według pory dnia

  4. Dziwny sporadyczny błąd połączenia SQL, poprawki przy ponownym uruchomieniu, powraca po 3-5 dniach (ASP.NET)

  5. Używanie Dappera z SQL Spatial Types jako parametrem