반응형
Char / VarChar
char (Character)
- 고정 크기 문자열 데이터
- 문자열의 크기를 바이트 단위로 정의 (1~8000바이트)
- 저장소 크기는 n바이트
- n개의 문자열 저장
- 상황에 따라 문자 수는 n보다 작을 수 있음 (1바이트 문자만 존재하는 것이 아니기 때문)
- 특정 범위의 크기를 넘어서지 못함
varchar (Character Varying)
- 가변 크기 문자열 데이터
- 문자열의 크기를 바이트 단위로 정의 (1~8000바이트)
- 저장소 크기는 n바이트 + 2바이트
- n개의 문자열 저장
- 상황에 따라 문자 수는 n보다 작을 수 있음 (1바이트 문자만 존재하는 것이 아니기 때문)
- 특정 범위의 크기를 넘어 설 수 있음 (8000~)
char / varchar 사용
- char : 컬럼의 항목들의 크기가 일치하는 경우
- varchar : 컬럼의 항목들의 크기가 상당히 다른 경우
- varchar(max) : 컬럼의 항목들의 크기가 상당히 다양하고 문자열 길이가 8000바이트를 초과하는 경우
nchar / nvarchar
nchar (National Character)
- 국제 문자셋(유니코드)을 지원하는 고정 크기 문자열 데이터
- 바이트 쌍의 문자열 크기로 정의 (1~4000바이트)
- 저장소 크기는 바이트의 두 배
- n개의 문자열 저장
- 상황에 따라 문자 수는 n보다 작을 수 있음 (보조 문자가 두 바이트 쌍을 사용하기 때문)
- 특정 범위의 크기를 넘어서지 못함
nvarchar (National Character Varying)
- 국제 문자셋(유니코드)을 지원하는 가변 크기 문자열 데이터
- 바이트 쌍의 문자열 크기로 정의 (1~4000바이트)
- 저장소 크기는 n바이트 + 2바이트의 두 배
- n개의 문자열 저장
- 상황에 따라 문자 수는 n보다 작을 수 있음 (보조 문자가 두 바이트 쌍을 사용하기 때문)
- 특정 범위의 크기를 넘어 설 수 있음 (4000~)
nchar / nvarchar 사용
- nchar : 컬럼의 항목들의 크기가 일치하는 경우
- nvarchar : 컬럼의 항목들의 크기가 상당히 다른 경우
- nvarchar(max) : 컬럼의 항목들의 크기가 상당히 다양하고 문자열 길이가 4000바이트 쌍을 초과하는 경우
정리
문자열 데이터타입의 숫자
- 문자열 데이터타입의 숫자는 문자의 수가 아닌 바이트를 뜻함
- 예시 : nvarchar(10) - 10글자가 아닌 10바이트를 의미
char / nchar
- n은 유니코드를 사용하는 문자열 데이터타입임을 의미
char / varchar
- 고정과 가변(var)의 크기의 데이터타입 정의 유형
참고
- Microsoft SQL 문서 - nchar 및 nvarchar
- 위키백과 - SQL
반응형