개발환경 : window 7 64bit, Oracle 12C |
오라클에서 varchar 와 varchar2 를 아무 생각없이 사용하고 있었는데
한번쯤은 무슨 차이가 있는지 알아볼 필요가 있었습니다.
이 두개의 데이터 유형은 동일한 의미의 가변길이 문자열 입니다.
둘다 데이터 길이의 상한치는 4000 바이트 입니다. 이렇게 두개의
데이터 유형은 동일합니다. 하지만 오라클 측에서 장래에 varchar 를
다른 용도로 사용할 예정이라고 합니다. 그래서 varchar 데이터 유형은
권장하지 않습니다.
Varchar2 의 가변길이 문자열 형식은 4000 바이트 이상 넘어갈 경우
에러를 발생시킵니다. 테이블의 컬럼명은 30자 까지 사용이 가능합니다.
이렇게 varchar 와 varchar2 는 동일하게 간주되고 있지만 미래에
Varchar 는 다른 용도로 사용을 할 예정이라고 합니다.
그러므로 사용하지 않는 것이 좋겠죠.
오라클 10G 문서에 포함된 내용 :
“Do not use the VARCHAR datatype. Use the VARCHAR2 datatype instead.
Although the VARCHAR datatype is currently synonymous with VARCHAR2,
the VARCHAR datatype is scheduled to be redefined as a separate
datatype used for variable-length character strings compared with
different comparison semantics.”
| Varchar | Varchar2 |
format | String 형태의 가변길이값 저장 | String2 형태의 가변길이값저장 |
정의 | 앞으로 사용하지 않는 것이 좋으며별도의 데이터 유형으로 지정될 예정입니다. | 4000 바이트의 최대 가변길의 문자열을 저장하는데 사용하고 있습니다. |
최대길이 | 4,000 바이트 | 4,000 바이트 |