본문 바로가기
Dev/Database

[Oracle] 오라클 데이터타입 varchar2(size char) 와 varchar2(size byte)

by 여뭐준 2021. 11. 4.

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문자를 저장 할 수 있는 공간을 자동으로 할당해주게 된다.

 

영어나 숫자만 들어가는 컬럼이라면 이런 내용에 대해서 고려하지 않아도 되겠지만

 

그동안 한글이 들어가야 하는 필드의 자리수는 문자셋에 따라서 뻥튀기 되어져야 했기때문에

 

어찌보면 좀더 쉽게 입력될 문자 데이터의 자리수에 대한 이해를 시킬 수 있는 방법이기도 하다.


테이블 만들때 조금 번거롭긴 하지만..

 

몇자까지 입력받을지에 대해서는 좀더 명확해진거 같기도 하다..

 

 

 

출처 : https://blog.naver.com/bada3233/100089636000

반응형

댓글