상세 컨텐츠

본문 제목

[MSSQL] COLLATE 데이터 정렬 조회 및 변경

SQL Server

by 코딩하는 박줄기 2022. 10. 14. 23:30

본문

728x90
반응형

SQL Server 의 데이터 정렬은  데이터에 대한 정렬 규칙과 대/소문자 및 악센트 구분 속성을 제공합니다.

서버, 데이터베이스, 열 또는 식의 데이터 정렬을 선택하면 데이터에 특정 특성이 할당됩니다. 이러한 특성은 여러 데이터베이스 작업의 결과에 영향을 줍니다. 예를 들어 ORDER BY를 사용하여 쿼리를 생성하는 경우, 결과 집합의 정렬 순서는 쿼리의 식 수준에서 COLLATE 절에 지정되거나 데이터베이스에 적용된 데이터 정렬에 따라 달라집니다.

 

데이터 정렬 목록 검색

//지원되는 모든 데이터 정렬 목록을 반환
SELECT name, description FROM fn_helpcollations();

//ETC : 현재 세션의 언어를 반환
SELECT @@language

 

서버 수준 데이터 정렬

SELECT CONVERT(nvarchar(128), SERVERPROPERTY('collation'));

 

데이터베이스 수준 데이터 정렬

//모든 데이터 베이스 조회
SELECT NAME, COLLATION_NAME FROM sys.databases;

//현재 데이터베이스 조회
SELECT CONVERT (nvarchar(128), DATABASEPROPERTYEX('database_name', 'collation'));

//변경 
ALTER DATABASE database_name COLLATE Korean_Wansung_CI_AS;

 

열 수준 데이터 정렬

//모든 열 조회
SELECT NAME, COLLATION_NAME FROM sys.columns

//변경
ALTER TABLE table_name ALTER COLUMN column_name NVARCHAR(10) COLLATE Korean_Wansung_CI_AS;

 

식 수준 데이터 정렬

SELECT name FROM customer ORDER BY name COLLATE Korean_Wansung_CI_AS;

 

 

참조

 

728x90
반응형

관련글 더보기

댓글 영역