[MSSQL] char nchar / varchar nvarchar 차이점
본문 바로가기
공부 (IT)/IT관련_DB

[MSSQL] char nchar / varchar nvarchar 차이점

by 달님’SS 2021. 6. 16.
728x90
반응형
SMALL

문자 데이터 형식 중 char nchar / varchar nvarchar 의 차이점에 대해서 알아보겠습니다.

 

char nchar / varchar nvarchar 은 모두 문자를 나타내기 위한 데이터형 입니다. 

n이 붙은 경우와 var가 붙은 경우가 있는데요.

 

 

n이 붙어 있는 경우 : 유니코드 문자형. n이 없으면 아스키코드 문자형

var가 붙어 있는 경우 : 가변 길이 문자형. var가 없으면 고정 길이 문자형 

 

고정길이 문자형이란 지정된 자릿수 만큼 메모리 공간을 확보한 뒤, 입력값만큼 사용하는 것을 말하며

   가변길이 문자형이란 입력값 만큼 메모리 공간을 차지하는 것을 말한다. 

 

 

DataType 길이 문자 데이터형
char(n) 고정길이(글자 0~4000자) 아스키코드 문자 데이터형
nchar(n) 고정길이(글자 0~4000자) 유니코드 문자 데이터형
varchar(n|max) 가변길이(n사용시 1~4000자 | max 사용시 최대 2GB)  아스키코드 문자 데이터형
nvarchar(n|max) 가변길이(n사용시 1~4000자 | max 사용시 최대 2GB)  유니코드 문자 데이터형

 

 

 

좀 더 예를 들어 설명하면 - 

char(100)에 입력받은 문자 'AB'를 저장한다고 하면, 메모리 공간 100을 확보하고 2만 사용합니다. 

(나머지 98이 남게 됩니다. 낭비.... )

varchar(100)에 'AB'를 저장한다고 하면, 메모리 공간 2만 사용하게 됩니다. 

 

고정 길이 문자형인 char와 nchar는 자릿수가 명확한 (또는 명확해야하는 경우) 주민등록 번호와 같은 경우에만 사용하며, 자리수가 정해지지 않는 이름, 지역명 등과 같은 입력값을 받을 경우에는 사용하지 않습니다. 

 

 

(단, 대용량 데이터베이스를 사용할 때 4글자 미만을 저장하게 될 경우에는 CHAR 형식으로 설정하는 것이 INSERT/UPDATE 시에 더 좋은 성능을 발휘. )

 

 

 

ms sql

 

 

728x90
반응형

댓글


TOP