CHAR, VARCHAR, VARCHAR2

2020. 11. 2. 19:39[개발] 지식/DBMS

CHAR, VARCHAR, VARCHAR2

구분 CHAR VARCHAR VARCHAR2
유형 고정형 가변형 가변형
최대Byte 2000 4000 4000

고정형

길이가 고정된다는 의미이다.
CHAR(5) 로 컬럼을 생성한 경우, 해당 컬럼에 'a' 한글자만 넣더라도 나머지에 공백을 넣어서 모든 공간을 차지한다.

공간은 낭비하지만 속도측면에서는 압도적으로 유리하다.
그러므로 주민등록번호, 핸드폰 번호와 같이 길이가 정해져있는 경우 사용한다.

가변형

길이가 변한다. 말그대로 가변형.
VARCHAR(5) 컬럼을 생성하고, 'a' 한글자만 넣으면 1Byte만 차지한다.

속도면에서 CHAR 형식보다 불리하다.

VARCHAR? VARCHAR2?

오라클에서는 VARCHAR2를 권장한다.
VARCHAR는 다른 용도로 변경될 여지가 있다고 한다.

LENGTH, LENGTHB 함수

LENGTH(컬럼명) 는 길이를 반환한다. 길이가 반드시 Byte 수는 아니다.
LENGTHB(컬럼명) 는 Byte 수를 반환한다.

실험결과 숫자와 알파벳은 1 Byte, 한글은 3 Byte를 차지한다.

'[개발] 지식 > DBMS' 카테고리의 다른 글

[Oracle] 한글,영문,숫자 정렬  (0) 2019.02.26
<