Memahami NVARCHAR
Bertentangan dengan apa yang anda fikirkan, NVARCHAR(MAX) tidak mempunyai had 4,000 aksara. Ia boleh menyimpan sehingga (dan dalam beberapa kes lebih daripada) 2GB data. Jika jenis data (nvarchar(n)) ditentukan, sehingga 4,000 aksara dibenarkan, tetapi maksimum membenarkan objek besar disimpan tanpa menentukan panjang tertentu.
4,000 Salah Faham Had Aksara
Had 4,000 aksara yang anda hadapi mungkin disebabkan oleh penggabungan rentetan, yang tingkah lakunya bergantung pada jenis data yang terlibat:
Dalam kes anda, ralat mungkin berlaku apabila cuba menggabungkan rentetan varchar(4001-8000) kepada rentetan jenis nvarchar, mengakibatkan pemotongan.
Selesaikan masalah
Untuk mengelakkan pemotongan sambungan:
Lihat rentetan SQL yang panjang
Untuk melihat rentetan SQL yang panjang dalam SSMS tanpa sekatan:
<code class="language-sql">select @SQL as [processing-instruction(x)] FOR XML PATH</code>
Anda boleh mengelakkan isu pemformatan dengan menyertakan rentetan SQL dalam arahan pemprosesan.
Atas ialah kandungan terperinci Apakah Had Sebenar NVARCHAR dan VARCHAR dalam SQL, dan Bagaimana Saya Boleh Mengelak Pemangkasan Gabungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!