일부 데이터를 저장할 필드가 있는데 필드가로 선언되었습니다 varchar(max)
. 내 이해를 위해 이것은 2^31 - 1
문자를 저장해야 하지만 8000 자 이상의 내용을 입력하면 나머지 문자가 잘립니다.
모든 데이터가 내 업데이트 문에 포함되어 있고 쿼리가 다른 곳에서는 잘 보이지만 데이터를 다시 선택하면 잘립니다.
웹 사이트에 데이터를 표시 할 때와 SSMS를 사용하여 데이터를자를 때 데이터가 잘립니다 select content from table
.
select DATALENGTH (content) from table
8000으로 돌아옵니다.
나는 이것을 사용하여 데이터를 설정했다 : update table set content = 'my long content' where id = 1
. 내용에 HTML이 많이 있지만 문제를 일으키는 것을 볼 수 없습니다. 내가 일을하고 있음을 알 수있는 유일한 방법은 모든 대체 "
와 ''
(내가 지금 왜 그랬는지 기억이 안나요)이 사용자 입력 내용 때문이다.
내용에서 작은 따옴표를 모두 제거하여 내용을 올바르게 입력 할 수 있었으므로 데이터베이스가 아닌 내 데이터에서 이상한 일이 발생한다고 생각합니다.
varchar(max)
필드 를 사용하기 위해 쿼리에서 특별한 작업을 수행해야합니까 ?
사용 : SQL Server 2008 (10.50) 64 비트