1. 가변 길이 문자형
⇒ 선언한 크기보다 작은 자료를 저장할 때 남은 공간을 되돌려준다.
1) VARCHAR
- 사용자가 정의한 데이터 길이 만큼 기억공간 사용.
(사용 형식)
컬럼명 VARCHAR(크기 [BYTE|CHAR])
⇒ 4000 BYTE까지 저장 가능
⇒ [BYTE|CHAR] : 입력 공간의 종류로 Default는 BYTE임
예제)
CREATE TABLE TEMP02 (
COL1 CHAR(20),
COL2 VARCHAR(20),
COL3 VARCHAR(20 CHAR));
INSERT INTO TEMP02 VALUES('무궁화','무궁화','무궁화');
INSERT INTO TEMP02 VALUES ('PERSIMON','BANANA','APPLE');
SELECT * FROM TEMP02;
SELECT LENGTHB(COL1) 고정길이, -- AS "컬럼의 별칭" -- 특수문자들어가면 ""로 묶는다.
LENGTHB(COL2) AS "가변길이(BYTE)", -- LENGTHB BYTE크기 출력
LENGTHB(COL3) "가변길이(CHAR)" -- AS를 쓰지않아도 되지만 쓰는게 좋다
FROM TEMP02;
⇒ 쓰고 나머지 반납
2) VARCHAR2
- VARCHAR와 사용이 동일
- 오라클에서만 사용되는 데이터 타입(오라클에서 사용 권고)
3) LONG
- 가변 길이 문자열을 저장할 때 사용
- 2gb 크기의 자료 저장 가능
- 한 테이블에 하나의 LONG 타입으로 선언 가능
- SELECT문의 SELECT절, UPDATE문의 SET절, INSERT문의 VALUES절에서 사용 가능
( 사용 형식 )
컬럼명 LONG;
-- 사용을 권하지 않는다
-- 한테이블에 한컬럼만 LONG타입을 사용할수있어서 사용하지않는다.
⇒ LONG 타입은 기술지원이 종료됨
⇒ CLOB, NCLOB 사용으로 대치
예제)
CREATE TABLE TEMP03(
COL1 LONG,
COL2 CLOB,
COL3 CLOB);
INSERT INTO TEMP03 VALUES('일포스티노','ILPOSTINO','일포스티노');
SELECT * FROM TEMP03;
SELECT --LEBGTHB(COL1), --2gb라서 길이를 체크할수 없다.
DBMS_LOB.GETLENGTH(COL2),
DBMS_LOB.GETLENGTH(COL3)
FROM TEMP03;
⇒ LEBGTHB(COL1), 2gb라서 길이를 체크할 수 없다.
4) CLOB
- 가변 길이 문자열 저장
- 최대 4gb 문자열 저장 가능
- LONG 타입을 개선한 데이터 타입
- 한 테이블에 여러 개 칼럼에서 CLOB타입 사용이 가능
- 일부 기능들(길이, 부분 문자열 추출)은 DEMS_LOB API의 지원을 활용
( 사용 형식 )
컬럼명 CLOB;
--LONG 타입과 마찬가지로 길이를 지정하지않는다. MAX 4gb안에있는 모든자료 가능
예제)
CREATE TABLE TEMP04(
COL1 CLOB,
COL2 CLOB,
COL3 VARCHAR2(4000));
INSERT INTO TEMP04
VALUES('DM MODELING과 OracleSQL','대전시 중구 대흥동 500',
'무궁화 꽃이 피었습니다');
select * from temp04;
SELECT DBMS_LOB.SUBSTR(COL1,5,3) AS 제목1,
SUBSTR(COL2,5,3) AS 제목2,
SUBSTR(COL3,5,3) AS 제목3
FROM TEMP04;
-- DEMS_LOB.SUBSTR(부분문자열추출) 자르고자하는문자열, 5글자수(갯수), 3번째에서시작
-- SUBSTR 는 5번째 자리에서 3글자
5) NVARCHAR2, NCLOB
- 다국적 언어 지원 형식(National)
- UTF-8, UTF-16 형식의 코드로 변환하여 저장
- 나머지 기능은 VARCHAR2, CLOB와 동일
'데이터베이스 > ORACLE' 카테고리의 다른 글
7. 날짜형 ( DATE ) (0) | 2021.03.15 |
---|---|
6. 숫자형 ( NUMBER ) (0) | 2021.03.15 |
4. SQL명령 / 자료형 ( CHAR ) (0) | 2021.03.15 |
3. ALTER (0) | 2021.03.15 |
2. INSERT / DROP/ DELETE (0) | 2021.03.15 |