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

nvarchar(max) nadal jest obcinany

Problem wydaje się być związany z instrukcją SET. Myślę, że wyrażenie nie może mieć więcej niż 4000 bajtów. Nie ma potrzeby dokonywania żadnych zmian w jakichkolwiek ustawieniach, jeśli wszystko, co próbujesz zrobić, to przypisać dynamicznie wygenerowaną instrukcję, która ma więcej niż 4000 znaków. Co musisz zrobić, to podzielić swoje zadanie. Jeśli instrukcja ma długość 6000 znaków, znajdź logiczny punkt przerwania, a następnie połącz drugą połowę z tą samą zmienną. Na przykład:

SET @Query = 'SELECT ....' [Up To 4,000 characters, then rest of statement as below]

SET @Query = @Query + [rest of statement]

Teraz uruchom zapytanie w normalny sposób, tj. EXEC ( @Query )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmień nazwę kolumny w SQL Server (T-SQL)

  2. Wstaw wiele wierszy z parametrami SQL Server

  3. Nie można załadować sterownika:com.microsoft.sqlserver.jdbc.SQLServerDriver weblogic 10g

  4. Nieprawidłowy parametr długości przekazany do funkcji LEFT lub SUBSTRING

  5. serwer sql :wybierz wiersze, których suma pasuje do wartości