SQL - VARCHAR 와 CHAR 자료형의 차이

JUN·2023년 7월 31일
1

sql

목록 보기
1/6

SQL - VARCHAR 과 CHAR 의 차이점

SQL에서 테이블의 칼럼이 가질 수 있는 대표적인 속성은 4가지 데이터 유형이 있다

  1. CHAR() : 고정 길이 문자열 정보 속성값으로 받는다.

    최소 길이 1byte, 최대 길이 Oracle 2,000 byte, SQL server 8,000 byte

    각 공간이 할당되면 변수의 길이가 공간보다 작을 경우 그 차이 길이만큼 공간으로 채워진다!

  2. VARCHAR(): 가변 길이 문자열 정보 속성값으로 가진다.

    최소 길이 1byte, 최대 길이 Oracle 4,000 byte, SQL server 8,000 byte

    공간이 할당되지만 변수의 길이만큼 가변적으로 메모리에 공간을 할당하기 때문에 속성값의 바이트만 적용된다!!

  3. NUMERIC

  4. DATETIME

CHAR의 장점

CHAR의 주요 장점은 데이터가 항상 일정한 크기를 갖기 때문에 데이터를 저장하고 검색하는 데에 효율적입니다. 그러므로 고정된 길이만 사용하는 자료형은 CHAR로 저장하는 것이 효과적!

VARCHAR의 장점

VARCHAR의 주요 장점은 저장 공간을 절약할 수 있다는 것이다. 그러나 CHAR보다는 데이터를 검색하는 데에 더 많은 시간이 소요되므로 성능과 속도를 고려했을 때는 CHAR 자료형이 낫다고 할 수 있다.


SQLD point!

CHAR 유형 (CHAR(10)일 경우)
'ABC' = 'ABC '

VARCHAR 유형 ((VARCHAR(10)일 경우)
'ABC' != 'ABC '

CHAR 자료형의 경우에는 ‘ABC’‘ABC ‘ 가 고정 길이열이기에 같은 자료로 인식하지만 VARCHAR 자료형의 경우에는 공백 문자까지 자료형의 길이로 인식하기에 두 자료는 다른 자료라고 인식한다.
(단 공백에 대한 처리가 SQL 버전마다 다른 경우도 있음. 예시) MySQL 5.0.3 이하 버전의 경우에는 뒤따르는 공백은 제거 처리하였고 유지를 위해서는 BLOB or TEXT 형 자료를 선택해야했다고 한다..)

8/2(수) 추가 - VARCHAR 와 VARCHAR2 는 문법적으로 완전히 동일하다고 한다.

  • mysql에서는 VARCHAR 를 Oracle 에서는 VARCHAR2를 자주 사용.
  • Oracle 공식 sql 문서
profile
순간은 기록하고 반복은 단순화하자 🚀

2개의 댓글

comment-user-thumbnail
2023년 7월 31일

정리가 잘 된 글이네요. 도움이 됐습니다.

답글 달기
comment-user-thumbnail
2023년 8월 1일

하하 유익한 정보에용^,^

답글 달기