MS-SQL에서 유니코드를 사용하여
다국어를 입력할 수 있습니다.
유니코드를 사용하기 위해서는
앞에 N을 앞에 붙여주어야 합니다.
1. 컬럼 형식
CHAR -> NCHAR
VARCHAR -> NVARCHAR
TEXT -> NTEXT
위처럼 하면 됩니다.
즉 컬럼 타입을 선택할 때 앞에 N을 붙여주면 됩니다.
2. 쿼리
유니코드를 입력할 때도 앞에
대문자 N을 붙여주면 됩니다.
제가 샘플로 만든 쿼리는 다음과 같습니다.
11111
위 쿼리는 VARCHAR형과 NVARCHAR형
데이터를 입력하는 것입니다.
앞에 N을 붙이면 유니코드로 입력을 하게 되는 것입니다.
3. VARCHAR와 NVARCHAR 차이
저는 개인적으로 NVARCHAR를 많이 썼습니다.
물론, CHAR이나 TEXT등도 유니코드로 쓸 수 있습니다.
하지만 저는 VARCHAR를 제일 많이 써서
이 두가지의 차이점을 정리해려고 합니다.
아시겠지만,
VARCHAR은 가변문자열입니다.
그러면 NVARCHAR은 유니코드 가변문자열입니다.
다국어(중국어, 일본어 등등)을 입력하기 위해서는
유니코드는 NVARCHAR를 써야 합니다.
그리고 한글을 기준으로 한
차이점을 보여드리도록 하겠습니다.
22222222222
위처럼 쿼리를 돌리면 결과는 다음과 같습니다.
VARCHAR를 쓸 때 숫자는 BYTE수를 얘기합니다.
그렇기 때문에 "가"한 글자만 나오게 됩니다.
한글은 2BYTE로 저장되기 때문이죠.
그리고 NVARCHAR는 글자수를 의미합니다.
그리고 유니코드의 경우,
무조건 2BYTE를 사용합니다.
그렇기 때문에 위 쿼리에서는 3글자가 저장이 되어
정상적으로 나오게 되는 것입니다.
그래서 길이도 다른것이고요.
4. 참고사항
유니코드를 사용하기 위해서는
DB처리하는 페이지는 UTF-8로 인코딩이 되어야 합니다.
그리고 N은 national의 약자입니다.
이상으로 SQL SERVER에서 유니코드를 사용하여
다국적 언어 사용하기
그리고 VARCHAR와 NVARCHAR의 차이점이였습니다~
'컴퓨터관련 > MS-SQL' 카테고리의 다른 글
[MS-SQL]0으로 나누어 에러 발생 시 (0) | 2019.08.02 |
---|---|
[MS-SQL]실행계획 보기 및 설명 (0) | 2019.07.31 |
[MS-SQL]요일구하기 및 특정요일 데이터 추출하기 (3) | 2019.07.25 |
[MS-SQL]조인(JOIN) 설명 및 사용법 (3) | 2019.07.11 |
[MS-SQL]에러 로그 확인하기 (0) | 2019.07.09 |