DB- 오라클 데이터 형식(문자형식)
CHAR 형식
-
CHAR(3) : 고정길이 (1BYTE) , 3개 쓰지 않아도 다쓰게된다.
-
VARCHAR(3) : 가별길이 공간의 최대갯수를 지정하는 의미 남은 공간을 반환해준다.
-
NCHAR : 2~3BYTE
-
NVARCHAR
-
LONG : 2GBYE (잘쓰지는않는다.)
-
CLOB : 대용량텍스트데이터타입(4GBYTE)
-
NCLOB : 대용량텍스트유니코드데이터타입(4GBYTE)
N이 붙은건 전세계각국의 CHAR 표현이다.
NUMERIC
-
NUMBER(4) : 최대 4자로 이루어진 숫자
-
NUMBER(6,2) : 소숫점2자리를 포함하는 최대 6자리 숫자 (소수둘째자리에서 반올림)
-
NUMBER(6,-2) : 소숫점 -2자리에서 반올림하는 최대 6자리 숫자
DATE
-
DATE : 년월일
-
TIMESTAMP : 년월일 시분초
CREATE TABLE MEMBER
(
ID VARCHAR2(50),
PWD NVARCHAR2(50),
NAME NVARCHAR2(50),
GENDER NCHAR(2), --남성,여성
AGE NUMBER(3),
BIRTHDAY CHAR(10), --2000-01-02
PHONE CHAR(13), --010-1234-2345
REGDATE DATE
);
DROP TABLE MEMBER; --테이블을 지운다.
INSERT INTO MEMBER (GENDER) VALUES ('남성');
SELECT LENGTHB(GENDER) FROM MEMBER;
SELECT LENGTHB('ab') FROM DUAL;
SELECT LENGTHB('한글') FROM DUAL;
--한글과 영문자의 바이트 비교
SELECT * FROM MEMBER;
영어로 ab 의 바이트길이는 2이고 한글의 바이트 길이는 6이다. 따라서 GENDER 에는 CHAR(2) 가들어가면 안된다. 이걸 보완해줄수있는 방법이있는데 NCHAR 이다.
남성이라는 값을 넣고 바이트길이를 보면 4바이트이다.
따라서 GENDER 에는 CHAR이들어가는게 아니고 NCHAR 타입으로 들어가야한다. PWD, NAME 도 마찬가지이다.
댓글남기기