MS-SQL,SQL공통

[SQL공통]char vs varchar vs Nvarchar 차이

라이언대위 2021. 4. 16. 16:03
반응형

일단 우리가 기본적으로 알아둬야 할 사항 

----------------------------------------------------------------------------------------------------

sql상에 저장되는 데이터는 크게 문자,숫자,특수문자이고 해당 종류별로 저장되는 

바이트의 크기가 다르다.  

 

문자

-한글(한글자)- 2byte

-영문(알파벳)- 1byte

 

숫자,특수문자 -1byte 

----------------------------------------------------------------------------------------------------

 

본격적으로 각 자료형의 차이점을 알아보자. 

 

Char(s)

-고정 길이 문자열 정보

-s 기본 길이 1바이트, 최대 길이 mssql 8000바이트

-s만큼 최대 길이를 갖고 고정 길이를 가지고 있으므로 할당되니 변수 값의 길이가 s보다 작을 경우에는 차이 길이 만큼 공간이 채워진다.

 

Varchar(s)

-가변 길이 문자열 정보

-s 최소 길이 1바이트, 최대 길이 mssql 8000바이트

-s만큼의 최대 길이를 갖지만 가변 길이로 조정이 되기 때문에 할당된 변수값의

 바이트만 적용된다.

 

Nvarchar(s)

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

-가변 유니코드 문자열

Nvarchar 사용해야 합니다.

 

-문자를 저장하는 바이트의 크기가  varchar 영문이나 숫자등은 1바이트,

한글이나 중국 간체 등은 2바이트로 저장한다.

그러나 nvarchar 모든 문자를 2바이트로 저장한다.

 

잘 이해가 안된다면 하단의 그림을 유심히 곱씹어 보면 개념이 적립될 거예요!

 

그림으로 알아보자

 

 

 

 

 

반응형