게으른 개발자의 끄적거림

CHAR VARCHAR VARCHAR2 설명 및 차이점

끄적잉 2023. 11. 7. 22:13
728x90

 `CHAR`, `VARCHAR`, 그리고 `VARCHAR2`는 데이터베이스에서 문자열을 저장하기 위한 데이터 유형(데이터 타입)입니다. 이러한 데이터 유형은 주로 문자열 데이터를 저장하고 검색하기 위해 사용됩니다. 다음은 이러한 데이터 유형 간의 주요 차이점을 설명합니다:

 


1. CHAR:
   - `CHAR` 데이터 유형은 고정 길이 문자열을 저장하는데 사용됩니다. 이것은 문자열의 길이가 항상 일정하다는 의미입니다.
   - `CHAR` 열은 정확히 지정된 길이를 가집니다. 예를 들어, `CHAR(10)`은 항상 10자의 문자를 저장합니다.
   - 만약 저장된 문자열이 지정된 길이보다 짧다면 나머지 공간을 공백으로 채웁니다.

 


2. VARCHAR:
   - `VARCHAR`는 가변 길이 문자열을 저장하는데 사용됩니다. 이것은 문자열의 길이가 다를 수 있다는 의미입니다.
   - `VARCHAR` 열은 최대 길이가 지정되며, 실제 문자열의 길이에 따라 저장 공간이 조정됩니다.
   - 문자열의 길이가 지정된 최대 길이보다 짧다면 추가로 저장 공간을 낭비하지 않습니다.

 


3. VARCHAR2:
   - `VARCHAR2`는 주로 Oracle 데이터베이스에서 사용되는 데이터 유형으로, 가변 길이 문자열을 저장합니다.
   - `VARCHAR2`는 Oracle의 CHAR 및 NCHAR 데이터 유형과 마찬가지로 가변 길이 문자열을 저장하지만, VARCHAR2의 주요 장점은 문자 집합(캐릭터 셋) 지원과 더 효율적인 저장 공간 관리입니다.
   - Oracle에서 VARCHAR2를 사용하는 것이 일반적이며, CHAR 및 VARCHAR 데이터 유형은 오래된 데이터 유형이므로 권장되지 않습니다.

 

 


차이점을 간단히 정리하면 `CHAR`는 고정 길이 문자열을 저장하고, `VARCHAR` 및 `VARCHAR2`는 가변 길이 문자열을 저장하며, `VARCHAR2`는 Oracle에서 더 효율적으로 사용됩니다. 데이터베이스 시스템마다 이러한 데이터 유형의 구현과 특성은 조금 다를 수 있으므로, 특정 데이터베이스 제품의 문서나 설명서를 참조하는 것이 중요합니다.

728x90