VARCHAR와 VARCHAR은 1~4000byte의 길이를 가지는 가변길이 문자열 데이터 타입이다.
데이터가 가변길이로 저장되므로 메모리공간의 이점을 얻을 수 있다.
- Oracle에서 가변 길이 문자열을 저장하는데 사용되는 데이터유형
- 저장 공간을 사용자가 지정한 길이보다 작은 실제 문자열 길이에 맞게 조절한다.
- 저장된 데이터의 실제길이만큼 메모리가 저장되므로 불필요한 공간을 사용하지 않음
VARCHAR2
VARCHAR2는 Oracle 데이터베이스에서 가변 길이 문자열을 저장하는 데 사용된다. 이 데이터 유형은 저장 공간을 최적화하기 위해 사용자가 지정한 길이보다 작은 실제 문자열 길이에 맞게 조절된다. 또한 실제 문자열의 길이에 대한 메타데이터를 유지하여 불필요한 공간을 절약하고 Oracle 데이터베이스에서 VARCHAR2는 널리 사용되며, 새로운 데이터베이스 설계에서는 이를 사용하는 것이 권장된다.
VARCHAR
VARCHAR는 ANSI SQL 표준에서 정의된 데이터 유형으로, Oracle 데이터베이스에서도 사용할 수 있다. VARCHAR는 VARCHAR2와 유사하지만, Oracle이 ANSI 표준을 준수하기 위해 도입되었다. Oracle 12c 이후의 버전에서는 VARCHAR와 VARCHAR2의 동작이 거의 동일하게 처리된다. 이전 버전과의 호환성을 유지하기 위해 Oracle은 여전히 VARCHAR를 제공하고 있지만, 새로운 개발에서는 일반적으로 VARCHAR2를 사용하는 것이 좋다.
결론 : VARCHAR와 VARCHAR2는 현재 동의어지만 추후에 다른 방식의 데이터 타입으로 변경될 수 있기에 VARCHAR2를 사용하는 것을 권장한다.
VARCHAR2를 사용한 예제
create table employees {
emp_id NUMBER,
name varchar2(50),
surname varchar2(50)
};
insert into employees(emp_id, name, surname)
values (1, 'Joe', 'Doe');
insert into employees(emp_id, name, surname)
values(2, 'May','Jane')
select * from employees
| employee_id | name | surname |
|-------------|------|---------|
| 1 | John | Doe |
| 2 | Jane | Smith |
'DB > Oracle' 카테고리의 다른 글
서브쿼리에 대해 알아보자(인라인뷰, exists, insert) (0) | 2024.04.07 |
---|---|
복합키와 다중PK의 차이 (0) | 2024.04.04 |
DECODE 함수 (0) | 2024.04.04 |
UNION과 UNION ALL의 차이 (0) | 2024.04.03 |
[Oracle] Docker ① (0) | 2023.12.28 |