본문 바로가기
Database

CHAR형과 VARCHAR형

by 기리의 개발로그 2015. 8. 1.

CHAR형과 VARCHAR형



데이터 유형 

설명

 CHAR(s) 

 - 고정길이 문자열 정보

 - s는 기본 길이 1 byte, 최대 길이 Oracle 2000 byte SQL Server 8000 byte

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

 VARCHAR(s)

 - CHARACTER VARYING의 약자로 가변 길이 문자열 정보(Oracle은 VARCHAR2, SQL Server는 VARCHAR로 표현

 - s는 최소 길이 1 byte, 최대 길이 Oracle 4000 byte, SQL Server 8000 byte

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



문자열의 비교 방법


- CHAR : 문자열 비교 시 공백을 채워서 비교

- CHAR(8) = 'AA' 일 경우 공백 6자리를 붙여 8자리로 비교

- 따라서, 'AA' = 'AA '는 실제 'AA      ' = 'AA      ' 가 되어 같다는 결과가 나옴


- VARCHAR : 공백도 하나의 문자로 취급하므로 끝에 공백이 포함되면 다른 문자로 판단

- 'AA' != 'AA '


- 따라서 이름, 주소 등의 길이가 변할 수 있는 값은 VARCHAR를 사용하고 사번, 주민등록번호와 같이 길이가 일정한 데이터의 값은 CHAR를 사용하는게 좋다

반응형

댓글