티스토리 뷰

프로그램/MsSql

MSSQL varchar와 nvarchar 차이??

서.라.연 2012. 11. 30. 00:00


 varchar와 nvarchar 차이

 

 

 일반적으로 varchar 는 가변 문자열

nvarchar 는 가변 유니코드 문자열입니다.


프로그램 개발시 다국어지원(중국 간체)을 사용해야할 경우가 있다면, 

nvarchar을 사용해야 합니다.


이 둘을 나누는 중요한 차이는 바로 문자를 저장하는 바이트의 크기인데요.

varchar는 영문이나 숫자등은 1바이트, 한글이나 중국 간체 등은 2바이트로 

저장을 합니다.


반면, nvarchar는 모든 문자를 2바이트로 저장합니다.


이번 포스팅에서는 varchar와 nvarchar 에 저장되는 문자의 차이를 테스트를

해 볼 생각입니다.

 

도움이 되셨다면 추천을~~^^



 

 

 테스트

 

 

아래와 같이 테스트를 해보면 쉽게 varchar와 nvarchar의 차이를 알 수 있다.






가변문자열[varchar(3)]에는 '테스트'라는 문자중에 '테'만 들어가 있는것을 확인 할 수 있다.

이유는 위에서 설명한대로 한글이나 중국 간체인 경우 문자 하나당 2바이트로 저장을 하기 때문이다.

반면, 가변 유니코드 문자열[nvarchar(3)]은 '테스트' 문자를 전부 저장 한 것을 확인 할 수 있다.

따라서, 다국어 지원이 필요한 프로그램을 개발시에는 nvarchar 를 사용해야 합니다.


 


댓글