-- 한줄주석문
/*
범위주석문
*/
-- 자료형
-- java oracle
-- int == NUMBER
-- String == VARCHAR2
-- double == NUMBER(정수의 자리수 , 소수의 자리수)
-- Date == Date
--문자열 자료형
--CHAR
CREATE TABLE TB_CHAR(
COL_CHAR1 CHAR(10 BYTE), -- String COL_CHAR1;(크기)
COL_CHAR2 CHAR(10 CHAR),
COL_CHAR3 CHAR(10)
)
/*
CREATE TABLE 테이블명(
컬럼명 컬럼의 자료형(크기),
컬럼명 컬럼의 자료형(크기)
)
*/
INSERT INTO tb_char(COL_CHAR1, COL_CHAR2, COL_CHAR3)
VALUES('ABC','ABC','ABC'); -- 영문크기 : 1BYTE
SELECT * FROM tb_char;
INSERT INTO tb_char(COL_CHAR1, COL_CHAR2, COL_CHAR3)
VALUES('가','가','가'); -- 한글크기 : 3BYTE
INSERT INTO tb_char(COL_CHAR1, COL_CHAR2, COL_CHAR3)
VALUES('가나','가나','가나'); -- 한글크기 : 3BYTE
INSERT INTO tb_char(COL_CHAR1, COL_CHAR2, COL_CHAR3)
VALUES('가나다','가나다','가나다'); -- 한글크기 : 3BYTE
SELECT COL_CHAR1, COL_CHAR2, col_char3,
LENGTHB(COL_CHAR1),LENGTHB(COL_CHAR2),LENGTHB(COL_CHAR3)
FROM tb_char;
/*
CHAR : 10BYTE 00000 00000
ABC -> ABC00 00000
10BYTE 가나다->가나다 9바이트
10CHAR
가 3+9 = 12 가0000 00000
가나 3 + 3 + 8 = 가나000 00000
가나다 3+3+3+7 = 가나다00 00000
*/
-- VARCHAR2
CREATE TABLE TB_VARCHAR(
컴럼1 VARCHAR2(10 BYTE),
컴럼2 VARCHAR2(10 CHAR),
컴럼3 VARCHAR2(10)
);
INSERT INTO TB_VARCHAR(컴럼1, 컴럼2, 컴럼3)
VALUES('ABC','ABC','ABC'); -- 한글크기 : 3BYTE
INSERT INTO TB_VARCHAR(컴럼1, 컴럼2, 컴럼3)
VALUES('가나다','가나다','가나다'); -- 한글크기 : 3BYTE
SELECT "컴럼1", "컴럼2", "컴럼3",
LENGTHB("컴럼1"),LENGTHB("컴럼2"),LENGTHB("컴럼3")
FROM TB_VARCHAR;
CREATE TABLE TB_LONG(
COL_LONG1 LONG
);
-- 숫자자료형 INTEGER
CREATE TABLE TB_INTEGER(
COL_INT1 INTEGER,
COL_INT2 INTEGER
);
-- NUMBER(정수,실수)
CREATE TABLE TB_NUMBER(
COL_NUM1 NUMBER,
COL_NUM2 NUMBER(5),
COL_NUM3 NUMBER(5, 2),
COL_NUM4 NUMBER(*, 2)
);
INSERT INTO tb_number(COL_NUM1, COL_NUM2, COL_NUM3, COL_NUM4)
VALUES(1234.5678, 12345, 123.456, 1234.56789);
SELECT
*
FROM tb_number;
INSERT INTO tb_number(COL_NUM1, COL_NUM2, COL_NUM3, COL_NUM4)
VALUES(1234.5678, 12345, 1234.567, 1234.56789);
--3번째 컬럼오류 1234.567 5자리에 소주 2자리까지 이므로 오류가 난다.
--날짜 자료형 DATE
CREATE TABLE TB_DATE(
COL_DATE1 DATE,
COL_DATE2 DATE
);
INSERT INTO TB_DATE(COL_DATE1, COL_DATE2)
VALUES(SYSDATE, SYSDATE - 1);
SELECT
*
FROM TB_DATE;
INSERT INTO TB_DATE(COL_DATE1, COL_DATE2)
VALUES(SYSDATE, TO_DATE('2019-07-12 10:32:24','YYYY-MM-DD HH:MI:SS'));
INSERT INTO TB_DATE(COL_DATE1, COL_DATE2)
VALUES('2019-08-15', '2019-07-12');
INSERT INTO TB_DATE(COL_DATE1, COL_DATE2)
VALUES(SYSDATE, '2019-07-12 10:32:24'); -- 에러 뜹니다
INSERT INTO TB_DATE(COL_DATE1, COL_DATE2)
VALUES(SYSDATE, TO_DATE('20190712103224','YYYYMMDDHHMISS'));
--VARCHAR2(문자열) -> DATE(날짜형식) : TO_DATE
--DATE(날짜형식) -> VARCHAR2(문자열) : TO_CHAR
'IT > DB' 카테고리의 다른 글
이클립스 오라클 연동 OJDBC (0) | 2020.02.20 |
---|---|
Oracle 계정 활성화 방법, 비밀번호 기간 만료 해제(ORA-28002) (0) | 2020.02.17 |
Oracle, SQL Developer 설치방법 (0) | 2020.02.15 |
댓글