2014년 5월 26일 월요일

oracle char varchar2 비교 [오라클개발자교육/오라클/ORACLE강좌/오라클교육잘하는곳/오라클교육추천/ORACLE실무교육/ORACLE/ORACLE교육/ORACLE학원/오라클실무교육]

oracle char varchar2 비교  [오라클개발자교육/오라클/ORACLE강좌/오라클교육잘하는곳/오라클교육추천/ORACLE실무교육/ORACLE/ORACLE교육/ORACLE학원/오라클실무교육]



CHAR DATATYPE은 FIXED LENGTH CAHRACTER STRING을 저장합니다. TABLE이 CHAR COLUMN을 갖고 CREATE될 때 COLUMN LEGTH는 BYTES로 1 에서 255까지의 DATA를 저장할 수 있습니다.
COLUMN길이가 10 으로 정의되었을 때 한번 INSERT 문장을 통해 5 BYTES를 입력하였다면 나머지 5 BYTES는 SPACE처리되어 그 DATA의 SIZE는 10 BYTE가 됩니다.
SQLPLUS의 VSIZE함수를 통해 알아보면 다음과 같습니다.
  SELECT VSIZE(column_name) FROM table_name;
column_name
------------
    10
    10
VARCHAR2 DATATYPE은 VARIABLE-LENGTH CHARACTER STRINGS을 저장합니다. TABLE이 VARCHAR2 COLUMN을 갖고 CREATE될때 COLUMN LENGTH 1에서 2000 BYTES까지의 DATA를 저장할 수 있습니다. COLUMN길이가 10으로 정의되었을 때 한번 INSERT 문장을 통해 5 BYTES를 입력하였다면 나머지 5 BYTES는 NULL 처리되어 그 DATA의 SIZE는 5 BYTE가 됩니다.
 우리가 SQLPLUS의 VSIZE함수를 통해 알아보면 다음과 같습니다.
SELECT VSIZE(column_name) FROM table_name;
column_name
------------
     5
     5
위와 같은 특징을 갖고 있기 때문에 정확히 구분하여 사용해야만 SPACE를 절약할 수 있고 ERROR를 방지할 수 있습니다.
  만약 사용자가 COMPARISON상에서 ANSI 호환성을 요구한다면 DATA TYPE를 CHAR로 선언해야 합니다.즉 나머지 공간(TRAILING BLANK)이 STRING COMPARISONS에서 중요한다면 CHAR로 해야 합니다.
특수한 경우를 제외한 나머지 경우에는 VARCAHR2로 사용하는 것이 SPACE가 절약 된다.
 
 
[오라클자바커뮤니티에서 설립한 오라클자바커뮤니티프로그래밍실무학원]
실전오라클,자바,닷넷,스마트폰 개발교육
http://www.oraclejavacommunity.com/

댓글 없음:

댓글 쓰기