2012-09-24 3 views
1

오늘 나는 이상한 문제에 부딪쳤다. Linq 데이터 액세스 레이어로 채워진 SQL Server 데이터베이스가 있습니다. 이제 데이터 유형이 CHAR(100) 인 컬럼이 있습니다.CHAR 열의 끝 부분에 추가 된 일련의 공백

나는 모든 것이 잘 작동하는 것처럼 보이지만,이 값을 검색 할 때 공백의 일부 시퀀스가 ​​각 값의 끝에 추가되었습니다.

누구나 아이디어가 있습니까?

+0

해당 값의 다듬기에 대해 생각해 보셨습니까? – MethodMan

답변

6

예상되는 동작입니다.

고정 길이, 유니 코드 문자열 데이터 : char [(n)]가있다. n은 문자열 길이를 정의하며 1에서 8,000 사이의 값이어야합니다. 저장소 크기는 n 바이트입니다. char의 ISO 동의어는 character입니다.

아마 varchar [(n | max)]을 사용 하시겠습니까?

가변 길이, 비 유니 코드 문자열 데이터. n은 문자열 길이 을 정의하며 1에서 8,000 사이의 값이 될 수 있습니다. max는 최대 저장 크기가 2^31-1 바이트 (2GB)임을 나타냅니다. 저장소 크기는 입력 된 데이터의 실제 길이 + 2 바이트 인 입니다. varchar의 ISO 동의어는 가변 문자 또는 가변 문자입니다.

+0

당신은 추가 된 공백이 정상이며 항상 고정 길이의 문자가 있음을 의미합니까? 그리고 가치를 끝까지 다듬는 것은 사람들이 정상적으로하는 일입니다. – Ashkan

+1

'char'는 항상 컬럼을 생성 할 때 지정한 고정 길이로 데이터를 채 웁니다. 데이터가 고정 길이가 아닌 경우 일반적으로'char'을 사용하지 않을 것입니다. 다른 일들과 관련하여 지금 당면한 번거 로움 때문에 :) – RedFilter

+0

Thnks alot;) 고정 길이 컬럼을 사용하여 재검토해야 할 것입니다 그런 식으로. – Ashkan

관련 문제