2010-04-14 5 views
4

텍스트로 정의 된 열이있는 데이터베이스 (SQL Server Express 2008)가 있습니다. 우리가 중국에있는 일부 텍스트를 저장하려고하면 저장되지 않습니다. 나는 필드가 ntext이어야한다고 읽었습니다. 이제 테이블을 변환하여 ntext로 컬럼을 만들어야합니다.SQL 서버에 러시아어 텍스트 저장

라틴어로 설정된 데이터베이스의 데이터 정렬을 수행해야합니까?

JD

답변

8

당신은 NTEXT 또는 NVARCHAR (MAX)에 열을 변경해야합니다.

정렬은 정렬 순서, 인덱싱 및 비교에만 관련이 있습니다. 중국어 데이터 만 저장 한 경우 Chinese_PRC_90_CI_AI 또는 관련 데이터 정렬을 사용할 수 있습니다. 첫번째 코멘트 후

업데이트 :

NVARCHAR (및 NTEXT)에 대한

, 데이터 정렬 설정 방법 데이터 을 저장에 영향을주지 않습니다. 앞서 언급했듯이 비교 및 ​​정렬에 영향을 미칩니다.

을 입력하면 중국어 데이터가 필드에 표시됩니다. 중국어 데이터 정렬을 사용하는 것이 가장 좋습니다. (일부 문자 조합에서 일부 문자가 같은 구두점 문자와 같이 일부 중국어 문자를 검색 할 때 일부 문제가 발생했습니다)

을 알고 있으면 다른 언어의 데이터도 검색 할 수 있습니다. 비교 또는 ORDER BY의 COLLATE 절

+0

@devio : 다른 외국 데이터를 저장합니다. 이 경우 데이터 정렬과 관련하여 무엇을해야합니까? 구성하는 설치 프로그램의 일부 여야합니까? –

+0

@devio : 정보 주셔서 감사합니다. 기존 데이터베이스의 스키마를 확인한 후 외래 문자가 포함될 수있는 varchar (255) 열이 많이 있습니다. 자,이 모든 열을 nvarchar (255)로 변경하는 가장 좋은 방법은 무엇입니까? 또한 TEXT 열을 nvarchar (8000)로 변경할 수 있다고 생각합니다. –

1

테이블을 처리하는 저장 프로 시저의 매개 변수 유형을 제안하고 변경하려면 열 유형을 변경해야합니다. NTEXT이지만 TEXT라는 저장 프로 시저 매개 변수가있는 필드가 있으면 값을 유지하지 않습니다.