본문 바로가기
DB & SQL

varchar와 nvarchar의 차이

by 무사뎀벨레 2022. 4. 29.

 

 

 

 

 

varchar와 nvarchar의 차이


varchar바이트 수, nvarchar글자 수를 기준으로 합니다.
varchar가변 문자열이며, nvarchar유니코드 지원 가변 문자열입니다.

 

그렇기 때문에 비유니코드 지원인 varchar영어, 숫자는 1byte, 그 외 한글, 한자 등은 2byte로 저장합니다.

반면, nvarchar는 유니코드 지원이므로 모든 문자를 일괄적으로 2byte로 저장하게 됩니다.

 

예를 들어,

'MousaDembele'라는 문자열은 varchar에서는 영문 12자리이기 때문에 12byte의 공간이 필요합니다. 반면 nvarchar에서는 영문이든 한글이든 관계없이 글자당 2byte를 할당하기 때문에 24byte의 공간이 필요합니다.

 

한글의 경우 '무사뎀벨레'라는 문자열을 저장하려면 varchar에서는 10byte(한글 1글자 당 2byte, 5 x 2byte = 10byte)의 공간이 필요합니다. nvarchar에서도 모든 글자를 한 글자당 2byte로 인식하기 때문에 10byte가 필요합니다.

 

아래의 표를 통하여 요약합니다.

  varchar nvarchar
공통점 가변형 문자열 저장
지원 언어 영문 또는 테이블에 설정된 기본 지원 언어 유니코드 지원
영문, 숫자 데이터크기 1byte 2byte
한글, 한자 데이터 크기 2byte
반응형

댓글