BACKEND/MSSQL
MSSQL :: 데이터 정렬(COLLATE)
neeon
2024. 4. 25. 15:45
728x90
SQL Server의 데이터 정렬은 데이터에 대한 정렬 규칙과 대/소문자 및 악센트 구분 속성을 제공한다.
서버, DB, 열 또는 식의 데이터 정렬을 선택하게 되면 데이터에 특정 특성이 할당되게 된다.
이런 특성은 여러 DB 작업의 결과에 영향을 주는데.. 예를 들어 Order by를 사용하여 쿼리를 만든 경우, 결과 집합의 정렬 순서는 쿼리의 식 수준에서 Collate 절에 지정되거나 DB에 적용된 데이터 정렬에 따라 달라지게 됨.
지원하는 언어
SELECT * FROM sys.fn_helpcollations()
위의 쿼리로 지원하는 언어 SET 의 종류를 확인해볼 수 있다. 총 5,540건.
이 중 Korean으로 시작되는 정렬 문자열에 대해 알아보자.!!
Korean과 관련되는 언어SET
SELECT * FROM sys.fn_helpcollations() WHERE NAME LIKE 'Korean_%'
위의 쿼리로 확인해보면 Korean 과 관련된 언어셋 종류에는 크게 90, 100, Wansung 이 있다.
조회해보면 . . 뒤에 C A K W S I 등 알파벳이 붙는 것을 볼 수 있다.
Koran_Wansung_CI_AS 같은 형태를 띔.
뒤에 붙는 알파벳의 의미는 뭘까..?
뒤에 붙는 알파벳의 의미?
S 와 I
S 는 Sensitive로 활성화를 의미.
I 는 Insensitive로 비활성화를 의미.
C A K W 와 S I
앞문자 | 뒷문자 | discription |
C (대소문자 구분) | S | 소문자가 대문자보다 먼저 정렬 |
I | 대소문자를 구분하지 않고 정렬 | |
A (악센트 구분) | S | 악센트를 구분하여 정렬 |
I | 악센트를 구분하지 않고 정렬 | |
K (히라가나/가타가나 구분) | S | 히라가나와 가타가나를 구분하여 정렬 |
I | 히라가나와 가타가나를 구분하지 않고 정렬 | |
W (전각/반각 구분) | S | 전각과 반각 문자를 구분하여 정렬 |
I | 전각과 반각 문자를 구분하지 않고 정렬 |
728x90