TITLEVARCHAR2(100CHAR) 와 TITLE VARCHAR2(100 BYTE) 의 차이점은??
일반적으로 한글은 2BYTE 혹은 3BYTE 를 사용한다. 편의상 2BYTE를 사용한다고 하면
TITLE VARCHAR2(100 BYTE) 로 선언된 필드에 저장할 수 있는 한글은 50자가 된다.
영어는 100자가 될것이고..
그런데 TITLE VARCHAR2(100 CHAR) 로 선언된 필드에는 한글도 100자 영어도 100자가 들어간다.
오라클 9i 부터는 Column의 DataType 에 BYTE나 CHAR를 붙여 지정된 자리수를
쉽게 이해하도록 하는 방법으로 VARCHAR2(100 CHAR) 형식으로 선언 하는 방법을 제공한다.
이런식의 선언은 영어던 한글이던 숫자던 상관없이 20문자를 저장 할 수 있는 공간을 자동으로 할당해주게 된다.
영어나 숫자만 들어가는 컬럼이라면 이런 내용에 대해서 고려하지 않아도 되겠지만
그동안 한글이 들어가야 하는 필드의 자리수는 문자셋에 따라서 뻥튀기 되어져야 했기때문에
어찌보면 좀더 쉽게 입력될 문자 데이터의 자리수에 대한 이해를 시킬 수 있는 방법이기도 하다.
테이블 만들때 조금 번거롭긴 하지만..
몇자까지 입력받을지에 대해서는 좀더 명확해진거 같기도 하다..
반응형
'Dev > Database' 카테고리의 다른 글
암호화 권한 테스트 (0) | 2021.11.04 |
---|---|
[Oracle] 테이블과 컬럼에 코멘트 추가하기 (0) | 2021.11.04 |
빅서 업데이트 이후 SQL Developer 실행 안됨 (0) | 2021.11.04 |
Oracle SQL Developer 맥에서 한글로 안 나올 때 (0) | 2021.11.04 |
댓글