기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
문자 형식
문자 데이터 형식에는 CHAR(문자)와 VARCHAR(가변 문자)가 포함됩니다.
스토리지 및 범위
CHAR 및 VARCHAR 데이터 형식은 문자가 아닌 바이트로 정의됩니다. CHAR 열에는 단일 바이트 문자만 포함되기 때문에 예를 들어 CHAR(10) 열이라고 하면 최대 10바이트의 문자열이 포함될 수 있습니다. VARCHAR에는 멀티바이트 문자가 포함되어 문자당 최대 4바이트까지 가능합니다. 예를 들어 VARCHAR(12)라고 하면 단일 바이트 문자 12개, 2바이트 문자 6개, 3바이트 문자 4개, 또는 4바이트 문자 3개가 포함될 수 있습니다.
명칭 | 스토리지 | 범위(열의 너비) |
---|---|---|
CHAR 또는 CHARACTER | 후행 공백(있는 경우)을 포함한 문자열 길이 | 4096 bytes |
VARCHAR 또는 CHARACTER VARYING | 4바이트 + 전체 문자 바이트, 여기에서 각 문자의 길이는 1~4바이트가 될 수 있습니다. | 65535바이트(64K -1) |
주제
CHAR 또는 CHARACTER
CHAR 또는 CHARACTER 열은 고정 길이 문자열을 저장하는 데 사용됩니다. 이 문자열은 공백으로 채워지므로 CHAR(10) 열은 항상 10바이트의 스토리지를 차지합니다.
char(10)
길이 명세가 없는 CHAR 열은 CHAR(1) 열이 됩니다.
VARCHAR 또는 CHARACTER VARYING
VARCHAR 또는 CHARACTER VARYING 열은 제한이 고정되어 있는 가변 길이 문자열을 저장하는 데 사용됩니다. 이 문자열은 공백으로 채워지지 않으므로 VARCHAR(120) 열은 단일 바이트 문자 120개, 2바이트 문자 60개, 3바이트 문자 40개 또는 4바이트 문자 30개까지 구성됩니다.
varchar(120)
후행 공백의 중요성
CHAR 및 VARCHAR 데이터 형식은 모두 n 바이트 길이까지 문자열을 저장합니다. 더 긴 문자열을 이러한 유형의 열에 저장하려고 하면 오류가 발생합니다. 그러나 추가 문자가 모두 스페이스(공백)인 경우 문자열은 최대 길이까지 잘립니다. 문자열이 최대 길이보다 짧을 경우 CHAR 값은 공백으로 채워지지만 VARCHAR 값은 공백 없이 문자열을 저장합니다.
CHAR 값에서 후행 공백은 언제나 의미상 유의적이지 않습니다. CHAR 값 2개를 비교할 때는 무시되고, LENGTH 계산에 포함되지 않으며, 그리고 CHAR 값을 다른 문자열 형식으로 변환할 때는 제거됩니다.
값을 서로 비교할 경우 VARCHAR 값과 CHAR 값의 후행 공백은 의미상 유의적이지 않습니다.
LENGTH 계산을 실행하면 길이에 포함된 후행 공백까지 합쳐서 VARCHAR 문자열의 길이를 반환합니다. 하지만 고정 길이 문자열에서는 후행 공백을 길이에 포함하여 계산하지 않습니다.