Saya memiliki bidang untuk menyimpan beberapa data, bidang ini dinyatakan sebagai varchar(max)
. Untuk pemahaman saya ini harus menyimpan 2^31 - 1
karakter tetapi ketika saya memasukkan beberapa konten lebih dari 8000 karakter itu memotong sisanya.
Saya telah memverifikasi bahwa semua data termasuk dalam pernyataan pembaruan saya dan kueri terlihat baik-baik saja di tempat lain, tetapi ketika saya memilih kembali data itu telah terputus.
Data terpotong ketika saya menampilkannya di situs web saya dan juga ketika saya menggunakan SSMS untuk select content from table
.
select DATALENGTH (content) from table
kembali sebagai 8000.
Aku mengatur data menggunakan ini: update table set content = 'my long content' where id = 1
. Konten memang memiliki banyak HTML tetapi saya tidak dapat melihat hal itu menyebabkan masalah. Satu-satunya hal yang dapat saya lakukan adalah mengganti semua "
dengan ''
karena ini adalah konten yang dimasukkan pengguna (tidak ingat mengapa saya melakukannya sekarang).
Saya berhasil mendapatkan konten untuk masuk dengan benar dengan menghapus semua tanda kutip tunggal dalam konten jadi saya pikir sesuatu yang aneh terjadi dengan data saya daripada database.
Haruskah saya melakukan sesuatu yang khusus dengan permintaan untuk menggunakan varchar(max)
bidang?
Menggunakan: SQL Server 2008 (10.50) 64 bit.