CHAR : 10BYTE 00000 00000
ABC : ABC00 00000
가(3BYTE) + (10BYTE-1) = 12
가나(3BYTE*2) + (10BYTE-2) = 14
가나다(9BYTE) + 7 = 16
※ LENGTH : 문자열의 길이를 반환
※ LENGTHB : 문자열의 BYTE 를 반환
-- Table
--table 생성
CREATE TABLE 테이블명(
컬럼명1 자료형,
컬럼명2 자료형,
컬럼명3 자료형
:
);
--table 삭제
DROP TABLE 테이블명;
-- 자료형
java oracle
int Integer, NUMBER
double NUMBER(정수의 자리수, 소수의 자리수)
String VARCHAR2, CHAR
Date DATE
table 기본 생성
-- 문자열
-- CHAR
CREATE TABLE TB_CHAR(
COL_CHAR1 CHAR(10 BYTE),
COL_CHAR2 CHAR(10 CHAR),
COL_CHAR3 CHAR(10)
);
INSERT 함수
/*
INSERT INTO 테이블명(컬럼명1, 컬럼명2, 컬럼명3...)
VALUES(값1, 값2, 값3);
String '문자열'
*/
INSERT INTO tb_char(COL_CHAR1, COL_CHAR2, COL_CHAR3)
VALUES('ABC', 'ABC', 'ABC'); --영문자 1문자의 크기는 무조건 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('가나', '가나', '가나');
INSERT INTO tb_char(COL_CHAR1, COL_CHAR2, COL_CHAR3)
VALUES('가나다', '가나다', '가나다');
SELECT col_char1, col_char2, col_char3, LENGTHB(col_char1),LENGTHB(col_char2),LENGTHB(col_char3)
FROM tb_char;
VARCHAR2함수
CREATE TABLE TB_VARCHAR(
COL1 VARCHAR2(10 BYTE),
COL2 VARCHAR2(10 CHAR),
COL3 VARCHAR2(10)
);
INSERT INTO TB_VARCHAR(COL1, COL2, COL3)
VALUES('ABC', 'ABC', 'ABC');
INSERT INTO TB_VARCHAR(COL1, COL2, COL3)
VALUES('가나다', '가나다', '가나다');
SELECT
*
FROM tb_varchar;
SELECT COL1, COL2, COL3, LENGTHB(COL1), LENGTHB(COL2), LENGTHB(COL3)
FROM tb_varchar;
LONG함수
--최대 2GB까지 저장
--TABLE당 1개만 사용가능.
CREATE TABLE TB_LONG(
COL_LONG LONG
-- COL_LONG1 LONG
);
INSERT INTO TB_LONG(COL_LONG)
VALUES('ABC');
SELECT
*
FROM tb_long;
SELECT COL_LONG, LENGTHB(COL_LONG)
FROM tb_long;
숫자(정수, 실수)
INTEGER 정수
CREATE TABLE TB_INTEGER(
COL1 INTEGER,
COL2 INTEGER
);
INSERT INTO tb_integer(COL1, COL2)
VALUES(123,456);
INSERT INTO tb_integer(COL1, COL2)
VALUES('123','456');
SELECT
*
FROM tb_integer;
commit; --DB에 저장
--NUMBER 정수, 실수
CREATE TABLE TB_NUMBER(
COL_NUM1 NUMBER,
COL_NUM2 NUMBER(5),--5는 자릿수, 소수점설정안해서 소수점 안나옴
COL_NUM3 NUMBER(5,2),--5자리, 소수점 둘째자리
COL_NUM4 NUMBER(*,2)--소수점 둘째자리
);
INSERT INTO TB_NUMBER(COL_NUM1, COL_NUM2, COL_NUM3, COL_NUM4)
VALUES(1234.5678, 12345.12, 123.456, 1234.56789);
SELECT
*
FROM tb_number;
날짜 DATE
연도, 월, 일 , 시, 분, 초
CREATE TABLE TB_DATE(
COL_DATE1 DATE,
COL_DATE2 DATE
);
--SYSDATE
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( '2020-07-17 12:32:45','YYYY-MM-DD HH:MI:SS')); --TO DATE( 값, 형식) 여기서 값은 문자열
INSERT INTO TB_DATE(COL_DATE1, COL_DATE2)
VALUES(SYSDATE, '20/08/27');
INSERT INTO TB_DATE(COL_DATE1, COL_DATE2)
VALUES(SYSDATE, TO_DATE( '20200717123245','YYYYMMDDHHMISS'));
--VARCHAR2(문자열) -> DATE(문자열, 날짜형태) -> TO_DATE 함수사용
--DATE(문자열, 날짜형태) -> VARCHAR2(문자열) -> TO_CHAR 함수사용
삭제 --
DROP TABLE TB_CHAR;
DROP TABLE TB_VARCHAR;
DROP TABLE TB_LONG;
DROP TABLE TB_NUMBER;
DROP TABLE TB_INTEGER;
DROP TABLE TB_DATE;