[SQL공통]char vs varchar vs Nvarchar 차이
일단 우리가 기본적으로 알아둬야 할 사항
----------------------------------------------------------------------------------------------------
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바이트로 저장한다.
잘 이해가 안된다면 하단의 그림을 유심히 곱씹어 보면 개념이 적립될 거예요!
그림으로 알아보자