일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 개발자학원
- 부린이뜻
- 트라몰정
- 트라몰정 325mg
- 자바
- 테이블객체
- 오라클
- MSG워너비나얼
- 백로특징
- 개발자
- 스프링 배치
- OracleSQL
- 인스턴스상태확인
- 테이블 저장 예제
- 국비학원리뷰
- 오라클xe
- 슈가먄
- 국비학원
- oracle
- 요즘말
- 대전 국비
- java
- 백로뜻
- JAVA1
- 요린이뜻
- 미국 태풍경보센터
- 백로계절
- 엠비엔 편성표
- 스프링 스키마
- 국비개발학원
- Today
- Total
정보의 보물창고
[Oracle 오라클]문자열 데이터 타입 본문
-오라클에서 사용되는 데이터 타입은 문자열, 숫자 , 날짜 , 이진자료형이 존재
1.문자열
- 문자열 자료는 ''안에 정의된자료
- 대소문자 구별하여 저장
- 가변길이와 고정길이 타입으로 구분
-CHAR VARCHAR,VARCHAR2,NVARCHAR,NVARCHAR2,LONG,CLOB
--CHAR VARCHAR CLOB만 알고 있어도 된다 VARCHRA2이게 젤 많이 쓰임
1)CHAR
-고정길이 문자열을 저장한다.
(사용형식)
컬럼명 CHAR(n [CHAR |BYTE]);
- n : 확보할 기억공간의 크기로 최대 2000 BYTE 까지 사용가능
- 데이터가 작으면 남는 공간(오른쪽)은 공백으로 채워짐
- 데이터가 n 보다 크면 오류
-한글 한글자는 3BYTE로 처리됨
-'CHAR|BYTE': n이 바이트인지 글자수인지 규정
n이 글자수를 나타내어도 전체 2000BYTE를 초과 할 수 없음
=>한글을 2000자까지 처리하지 못함(666글자 까지 저장) -- 한글 한글자당 3바이트
사용예)
CREATE TABLE TEMP01(
COL1 CHAR(10),-- 10바이트
COL2 CHAR(10 BYTE), -- 10바이트
COL3 CHAR(10 CHAR));-- 10글자
INSERT INTO TEMP01 VALUES('대전','ABCDEFGHIJ','대전 중구 성모병원'); -- 공백도 글자수에 포함되어야함
INSERT INTO TEMP01 VALUES('대덕구','ABC','성모병원'); -- 성모병원이 4글자이기때문에 12바이트여야하는데 18바이트를 차지함,
--10글자를 차지할 공간을 마련해놨기때문에 글자가 4글자를 차지해도 6공간이 남음, 남은 공간은 BYTE 단위 12+ 6 = 18
SELECT * -- *은 ALL을 의미함. SELECT절과(출력할 컬럼명)WHERE절은(조건) FROM(테이블) 절이 반드시 있어야함
WHERE절이 생략되면 조건없이 모든 컬럼 출력
SELECT * FROM TEMP01;
SELECT LENGTHB(COL1),LENGTHB(COL2),LENGTHB(COL3)
FROM TEMP01;
02) VARCHAR2
.가변길이 문자열을 저장한다
.최대 4000BYTE까지 저장 가능
.사용하고 남은 공간은 시스템에게 반납
(사용형식)
컬럼명 VARCHAR2(n [CHAR[BYTE]);
사용예)
CREATE TABLE TEMP02(
COL1 VARCHAR2(100),
COL2 VARCHAR2(100 BYTE),
COL3 VARCHAR2(4000 CHAR));
INSERT INTO TEMP02 VALUES('대전','ABCDEFGHIJ','대전 중구 성모병원');
INSERT INTO TEMP02 VALUES('대덕구','ABC','성모병원');
SELECT *
FROM TEMP02
WHERE ROWNUM=1;
SELECT LENGTHB(COL1),LENGTHB(COL2),LENGTHB(COL3)
FROM TEMP02;
3) LONG
. 가변길이 문자열을 저장
. 최대 2GB까지 저장 가능
. 제약사항 : 한 테이블에 한 컬럼만 LONG으로 선언 가능 -- 제약사항때문에 잘 쓰지 않음.
. CLOB 타입으로 대체 (LONG의 기능개선 서비스는 종료)
(사용형식)
컬럼명 LONG;
- LONG 타입 컬럼이 사용되는 곳
=> SELECT문의 SELECT 절, UPDATE문의 SET 절 , INSERT문의 VALUES절
'개발 Memo > Oracle' 카테고리의 다른 글
Oracle 11g (Oracle Xe)설치 (0) | 2022.07.16 |
---|---|
[Oracle 오라클 Sql] 숫자형 데이터 타입 (0) | 2021.05.25 |
[Oracle 오라클] 테이블 저장 예제 (0) | 2021.05.24 |
[Oracle 오라클]AlTER Table (테이블 이름 구조 변경) (0) | 2021.05.24 |
[OracleSql]DML(Data Manipulation Language) - INSERT, UPDATE (0) | 2021.05.12 |