▶ MSSQL 2005 디폴트 설치시 선택되는 디폴트 데이터 정렬 방식은 "Korean_Wansung_CI_AS"
[문제] 일반문자와 특수문자가 구분되지 않는다.
[예제]
데이터에 'free'(일반문자)와 'FREE'(특수문자)가 있다고 가정했을때
SELECT * FROM table WHERE string = 'free' 쿼리 결과는 두 데이터 모두를 검출한다.
[해결]
일반문자와 특수문자를 구분하고 싶다면
데이터 정렬 방식을 "Korean_Wansung_CI_AS_KS_WS"로 변경한다.
(데이터베이스)
생성시 문법 : CREATE DATABASE 데이터베이스 COLLATE 데이터정렬방식;
변경시 문법 : ALTER DATABASE 데이터베이스 COLLATE 데이터정렬방식;
(테이블)
변경시 문법 :
ALTER TABLE 테이블명
ALTER COLUMN 컬럼명 데이터형 COLLATE 데이터정렬방식;
ALTER TABLE tabFlights
ALTER COLUMN LeavingFrom VARCHAR(50) COLLATE Korean_Wansung_CI_AI;
[자료]
용어 | 옵션값 | 설명 | |
이진 | _BIN | 각 문자에 대해 정의된 비트 패턴을 기준으로 데이터를 정렬 및 비교하려면 이 데이터 정렬을 선택합니다. 이진 정렬 순서는 대/소문자(소문자가 대문자 앞에 와야 함) 및 악센트를 구분합니다. 이것은 가장 빠른 정렬 순서입니다. 이 데이터 정렬을 선택하면 대/소문자 구분, 악센트 구분,일본어 가나 구분 및 전자/반자 구분 옵션을 사용할 수 없습니다. | |
이진2 | _BIN2 | 각 문자에 정의된 비트 패턴에 따라 데이터 데이터를 정렬 및 비교하려면 이 데이터 정렬을 선택합니다. 이진 정렬 순서는 대/소문자(소문자가 대문자 앞에 와야 함) 및 악센트를 구분합니다. 이것은 가장 빠른 정렬 순서입니다. 이 데이터 정렬을 선택하면 대/소문자 구분, 악센트 구분,일본어 가나 구분 및 전자/반자 구분 옵션을 사용할 수 없습니다. | |
대/소문자 구분 | _CS(O) | _CI(X) | 대문자와 소문자를 구분하려면 이 옵션을 선택합니다. |
악센트 구분 | _AS(O) | _AI(X) | 악센트가 있는 문자와 악센트가 없는 문자를 구분하려면 이 옵션을 선택합니다. 예를 들어 'a'와 'á'는 같지 않습니다. |
일본어 가나 구분 | _KS | 두 가지 유형의 일본어 가나 문자를 구분하려면 이 옵션을 선택합니다. 히라가나와 가타가나를 구분하도록 지정합니다. | |
전자/반자 구분 | _WS | 단일 바이트 문자(반자)와 더블바이트 문자로 표시될 때의 동일한 문자(전자)를 구분하려면 이 옵션을 선택합니다. |
'데이터베이스 > MSSQL' 카테고리의 다른 글
[mssql]저장프로시저 기본 (0) | 2013.06.27 |
---|---|
MSSQL 테이블 레이아웃 출력 쿼리 (0) | 2013.05.31 |
데이터베이스 간의 테이블 컬럼 정보 비교해서 없는 경우 해당 컬럼 생성 처리 (0) | 2013.01.28 |
MSSQL CTE 재귀 쿼리(2005이상부터 사용가능) (0) | 2012.11.27 |
프로시저에서 sql 문장 받아 처리 하는 예제 (0) | 2012.11.15 |