Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Untuk Nvarchar(Max) saya hanya mendapatkan 4000 karakter di TSQL?

Anda telah menyatakan ini sebagai nvarchar(max) yang memungkinkan 2GB data sehingga akan menyimpan 2GB.

Apa yang terjadi:

  • Tipe data belum nvarchar(maks) sampai tugas ke @sql1
  • Sebelumnya, ini adalah kumpulan string, masing-masing kurang dari 4000 (konstanta)
  • Anda menggabungkan konstanta pendek dengan variabel pendek (short =<4000)
  • Jadi Anda memiliki 4000 karakter yang dimasukkan ke dalam @sql1

Jadi, pastikan Anda memiliki nvarchar(max) di sisi kanan.

Satu ide. Baris ke-2 menggabungkan nvarchar(max) dengan konstanta =nvarchar(max)

SET @SQL1 = ''
SET @SQL1 = @SQL1 + 'SELECT DISTINCT Venue...
   ....

Tidak ada bedanya dengan pembagian bilangan bulat yang terjadi di setiap bahasa.

declare @myvar float
set @myvar = 1/2 --gives zero because it's integer on the right

Prioritas operator (menunjukkan prioritas tipe data) selalu "tugas" terakhir... mengapa string unicode di SQL Server harus berbeda?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menangani Banyak Objek dengan Menggunakan Windows Detail Objek Explorer di SSMS - Tutorial SQL Server / TSQL Bagian 22

  2. SQL OUTPUT Stored Procedures tidak berfungsi dengan ExecuteReader

  3. Bagaimana Memperbaiki "Pernyataan EXECUTE gagal karena dengan klausa WITH RESULT SETS ditentukan 2 kolom untuk kumpulan hasil ..." Msg 11537 di SQL Server

  4. Driver.getConnection hang menggunakan driver SQLServer dan Java 1.6.0_29

  5. Solusi Untuk Cara Membaca File Log Transaksi SQL Server Tanpa Gagal