Mam pole do przechowywania niektórych danych, które jest zadeklarowane jako varchar(max)
. Moim 2^31 - 1
zdaniem powinno to być przechowywanie postaci, ale kiedy wprowadzę trochę treści ponad 8000 znaków, to odcina resztę.
Sprawdziłem, czy wszystkie dane są zawarte w mojej instrukcji aktualizacji, a zapytanie wygląda dobrze wszędzie, ale kiedy wybieram dane ponownie, zostało odcięte.
Dane są obcinane, kiedy wyświetlam je na mojej stronie internetowej, a także kiedy używam SSMS do select content from table
.
select DATALENGTH (content) from table
wraca jako 8000.
Ustawić dane przy użyciu tego: update table set content = 'my long content' where id = 1
. Treść zawiera dużo HTML, ale nie widzę, że to powoduje problemy. Jedyną rzeczą, widzę, że robię jest zastąpienie wszystkich "
z ''
jak to jest wprowadzone przez użytkownika treści (nie pamiętam dlaczego to zrobiłem, że teraz).
Udało mi się uzyskać prawidłowe wprowadzanie treści poprzez usunięcie wszystkich pojedynczych cudzysłowów w treści, więc myślę, że dzieje się coś dziwnego z moimi danymi, a nie z bazą danych.
Czy powinienem robić coś specjalnego z zapytaniem, aby użyć varchar(max)
pola?
Używanie: SQL Server 2008 (10.50) 64-bitowy
źródło