varchar와 char의 차이

컬럼에 데이터 타입을 지정할 때 varchar는 지정된 Byte까지 가능해서 자유롭게 쓸 수 있다라고 한다면, char의 경우 지정된 Byte만큼 reserved, 예약, 할당이 되어있다.

varchar(x) : x Byte까지 자유롭게 사용
char(x) : x Byte가 미리 할당되어 있어 x Byte만큼 사용됨.

그래서 char로 데이터 타입이 지정된 컬럼에 1 Byte 값만 insert 하게 된다면 나머지 1 Byte에 화이트 스페이스가 같이 들어가게 된다.

예시
COLUMN1 VARCHAR(2)
INSERT ... ('a') ; >> 'a'
INSERT ... ('ab'); >> 'ab'

COLUMN1 CHAR(2)
INSERT ... ('a') ; >> 'a '
INSERT ... ('ab'); >> 'ab'

profile
아무것도 몰라요우

0개의 댓글