`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에서 더 효율적으로 사용됩니다. 데이터베이스 시스템마다 이러한 데이터 유형의 구현과 특성은 조금 다를 수 있으므로, 특정 데이터베이스 제품의 문서나 설명서를 참조하는 것이 중요합니다.
'게으른 개발자의 끄적거림' 카테고리의 다른 글
이클립스 오류 The resource is not on the build path of a java project 해결방법 (0) | 2023.11.08 |
---|---|
SQL 조건문에 ? (0) | 2023.11.08 |
Oracle, MySQL 자동으로 값 증가(AUTO_INCREMENT) (0) | 2023.11.07 |
오라클 CHAR VARCHAR VARCHAR2의 차이점 (0) | 2023.11.06 |
Java 메인 메서드 없는 경우 (0) | 2023.11.06 |