티스토리 뷰

DATABASE/MSSQL

MS SQL 다국어 처리

publepuble 2018. 12. 5. 10:31

MS SQL에서 다국어를 지원하기 위해서 해당 Table의 칼럼은 nvarchar 또는 nchar 형식으로 저장되어야 한다.
이때 접두어 'N'은 National을 의미한다.

기존의 char 및 varchar과는 어떻게 다른가요?

클라이언트 컴퓨터는 운영 체제의 로컬의 코드 페이지를 사용하여 문자를 나타내는 비트 패턴을 해석합니다.
즉 일반적으로 char 및 varchar를 사용하게되면 로컬 운영체제의 코드 페이지를 참조하여 비트 패턴을 해석합니다.
nvarchar 및 nchar를 사용하면 MS SQL은 문자 인코딩시 UCS-2에 따라 2 Byte (65,536 개의 문자 표현) 를 이용하여 인코딩 합니다. 이를 통해 문자 변환 문제를 최소화 합니다.
(참고 : 유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나인 UTF-8의 경우 문자 한자를 위해 1byte ~ 4btye를 이용하게 됩니다.)
즉, 일반적으로 varchar를 썼을때는 영문은 1byte를 차지하지만 한글은 2byte를 차지한다.
하지만, nvarchar를 썼을때는 영문이든 한글이던 모두 1byte만을 차지하게되어서 효율적이다.



반응형

'DATABASE > MSSQL' 카테고리의 다른 글

MSSQL 문자열 자르기  (0) 2019.03.08
데이터 중복제거  (0) 2018.12.05
WHERE 1 = 1 을 하는 이유  (0) 2018.12.05
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함