설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


Powered by EnterpriseDB
총 게시물 77건, 최근 0 건
   

character byte 선언

글쓴이 : PostgresDBA 날짜 : 2015-03-06 (금) 15:39 조회 : 2404

------------ 오라클 -------------------

CREATE TABLE A(
    B VARCHAR2(1),             --- 디폴트 byte 입니다.
    C VARCHAR2(1 BYTE),
    D VARCHAR2(1 CHAR)
);

INSERT INTO A(B) VALUES('한');  -- 에러, 한글은 (KSC5601 - 2bytes /UTF8 3bytes) 필요 

INSERT INTO A(C) VALUES('한');  -- 에러, 한글은 2또는 3 bytes 필요
INSERT INTO A(D) VALUES('한');  -- INSERT 됨

------------ PostgreSQL/PPAS  -------------------


CREATE TABLE A(
    B VARCHAR(1)         --- PostgreSQL 에서는 bytes 가 아닌 글자수를 의미합니다.
);
INSERT INTO A(B) VALUES('한');  --- INSERT 됨

SQL> select length(b), lengthb(b) from a;   --- UTF8 이라 3byte

 length | lengthb 

--------+---------

      1 |       3


이로서 추측해보면

ORACLE -> PostgreSQL/PPAS 로 데이터를 이관하면 문제될게 전혀없지만

그 반대로 이관한다면, 한글데이터가 들어가는 컬럼이라면, 오라클쪽에서 컬럼폭 조정이 대폭 필요하겠네요.


   

postgresdba.com