이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 13630|회답: 0

[팁] SQLserver 인코딩 형식과 Sqlserver 콜레이션 규칙으로 SQL 문장을 보기

[링크 복사]
게시됨 2016. 10. 27. 오후 12:50:16 | | | |
SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
다음은 쿼리 결과입니다:
중국어 간체 GBK 936
950 중국어 번체 BIG5
437 미국/캐나다 영어
932명의 일본군
949 한국
866 러시아어
65001 유니코드 UFT-8




SQL SERVER 2008을 설치할 때, 기본 설치를 선택했기 때문에 생성했습니다데이터베이스의 경우, 서버가 선택한 기본 정렬 규칙은 SQL_Latin1_General_CP1_CI_AS 정렬 규칙으로, 데이터 테이블에 텍스트를 삽입할 때 "? 대신.
그 후 데이터베이스를 만들 때는 아래 그림과 같이 Chinese_PRC_CI_AS 콜레이션으로 선택할 수 있는 콜레이션 규칙을 수동으로 지정해야 합니다





분류 규칙:
SQLSEVER2005에서 사용되는 정렬 규칙은 SQL_Latin1_General_CP1_CI_AS이며, 간체 중국어 문자를 올바르게 표시할 수 있는 세 가지 정렬 규칙이 아닙니다:
Chinese_PRC_BIN,
Chinese_PRC_CI_AS,
Chinese_PRC_CS_AS.
MS의 콜레이션 설명인 'Collation Rules Control Physical Storage of Strings in SQL Server 2005'를 참고하세요. 콜레이션 규칙은 각 문자를 나타내는 비트 패턴과 문자 사용 저장 및 비교 규칙을 지정합니다.
즉, SQLSERVER에서는 정렬이 실제로 문자 인코딩입니다.
쿼리 분석기에서 다음 문장을 실행하면 SQL SERVER가 지원하는 모든 콜레이션 규칙을 얻을 수 있습니다.
선택 * 중에서 ::fn_helpcollations()
콜레이션 이름은 두 부분으로 구성되며, 첫 번째는 이 콜레이션이 지원하는 문자 집합을 의미합니다.
예를 들어: Chinese_PRC_CS_AI_WS
전반부는 UNICODE 문자 집합을 다루며, 간체 중국어 문자 UNICODE의 정렬 규칙에 Chinese_PRC_refers합니다.
정렬의 후반부는 접미사의 의미입니다:
_BIN 이진 정렬
_CI(CS) 대소문자 구분인지, CI가 민감하지 않은지, 그리고 CS가 민감한지
_AI (AS) 억양을 구분할 수 있는지, AI는 구분하지 않고, AS는 구분합니다
_KI(KS) 가명 유형을 구분할 수 있는지, KI는 구분하지 않고, KS는 구분합니다
_WI(WS)는 폭을 구분하지 않으며, WS는 구분되지 않습니다
대문자 구분: 대문자와 소문자를 동일하게 비교하고 싶을 때 이 옵션을 선택하세요.
악센트 구분: 악센트가 있는 글자와 무강세가 있는 글자를 동일하게 비교하고 싶을 때 이 옵션을 선택하세요. 그 옵션을 선택하면 서로 다른 악센트를 가진 글자들도 불평등으로 간주됩니다.
카나 구분: 카타카나와 히라카 데이 음절을 불등하게 비교하고 싶을 경우 이 옵션을 선택하세요.
폭 차이: 반너비와 전폭 문자를 불등하게 비교하고 싶으면 이 옵션을 선택하세요.
SQLSERVER의 콜레이션 규칙을 이해한 후, 위 문제에 대해 다음과 같은 결론을 도출할 수 있습니다:
1. SQLSERVER 사용자 데이터베이스를 수정하여 중국어 문자 집합 정렬을 지원합니다.
2: 한자 표시는 가능하지만 데이터베이스의 정렬 규칙을 변경하고 싶지 않으며??, 한자를 올바르게 표시하고 싶을 경우, 설계상 모든 유니코드 타입 필드, 즉 nChar, nVarchar 같은 필드 타입을 올바르게 표시하는 것이 권장됩니다.
3: 정렬 규칙이나 필드 타입을 변경하고 싶지 않다면 SQL 문장을 변경해야 하며, 모든 한자 문자에 대해 올바르게 표시하려면 앞에 N을 추가해야 합니다. 구체적인 방법에 대해서는 다음 두 가지 진술을 참고해 주세요:
쿼리: FirstName=N'Wang' tb_Cust에서 * 선택하세요
삽입: 삽입 tb_Cust(이름, 성, 성별) 가치(N'Wang', N'Xinhao', N'남성)
참고: 앞으로 서버 수준 콜레이션 규칙을 SQLSERVER2000 후 수정하는 것이 더 번거로워질 것이며, 마스터 데이터베이스를 재구축해야 합니다.

현재 이미 생성된 데이터베이스의 경우, 데이터베이스 속성 창의 옵션 페이지에서 정렬 메서드를 변경할 수 있어, 데이터 테이블에 텍스트를 삽입할 때 오류 메시지가 없도록 할 수 있습니다!





이전의:SQL은 열에 한자 문자가 포함되는지 영어 문자를 포함하는지 결정합니다
다음:SQL은 열에 한자 문자가 포함되는지 영어 문자를 포함하는지 결정합니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com