일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ObjectInputStream
- MemoryStream
- ID중복
- StringWriter
- include액션태그
- Linux세팅
- StringReader
- Daemon()
- interrupt()
- interrupted()
- String char[] 형변환
- 상관 서브 쿼리
- 상관서브쿼리
- InputDialog
- 리눅스세팅
- include 지시자
- include지시자
- char[] String 형변환
- isinterrupted()
- 동기화
- 리눅스셋팅
- sleep()메소드
- 표현 언어
- first-child
- Linux셋팅
- 메모리스트림
- 아이디중복
- ThreadGroup()
- 스레드그룸
- first-of-child
- Today
- Total
다연이네
[days07] 오라클 data type(자료형) 본문
data type(자료형) : [컬럼]이 저장되는 데이터 유형
1) CHAR [ (size [ BYTE ¦ CHAR ] ) ] []는 생략가능
길이가 고정되어 있음
char name; == char(1 byte) name; char(1)이러면 바이트 생략된거
CREATE table tbl_char
(
aa char, --char(1 byte)
bb char(3), --char(3 byte) 홍길동 저장 안됨...
cc char(3 char)
);
insert into tbl_char(aa,bb,cc) values ('a','b','c');--가능
insert into tbl_char(aa,bb,cc) values ('aa','bb','cc');
--ORA-12899: value too large for column "SCOTT"."TBL_CHAR"."AA" (actual: 2, maximum: 1)
insert into tbl_char(aa,bb,cc) values ('a','bb','cc');--가능
insert into tbl_char(aa,bb,cc) values ('a','홍길동','cc');
--ORA-12899: value too large for column "SCOTT"."TBL_CHAR"."BB" (actual: 9, maximum: 3)
insert into tbl_char(aa,bb,cc) values ('a','kbs','jtbc');
--ORA-12899: value too large for column "SCOTT"."TBL_CHAR"."CC" (actual: 4, maximum: 3)
insert into tbl_char(aa,bb,cc) values ('a','kbs','헝길동'); --가능
insert into tbl_char(aa,bb,cc) values ('a','ks','헝길동'); --가능
rollback; --이거하면 다시 원상태로 돌림 (데이터 추가된거 사라짐) 취소
commit; --이거까지 해야지 실제 행이 추가된 것
2)NCHAR
- 오직 unicode 데이터타입에만 사용된다. n(유니코드) + char(고정길이)
- 알파벳이든 한글이든 한문자 취급,
- nchar == nchar(1 문자)
- nchar(10) 10문자
CREATE table tbl_nchar
(
aa nchar, --char(1 문자)
bb nchar(3) --char(3 문자)
);
insert into tbl_nchar values ('a', 'b'); --순서대로 집어넣을거면 (aa,bb)생략 가능
insert into tbl_nchar values ('홍', '홍길동'); --가능
insert into tbl_nchar values ('a', 'abc'); --가능
commit;
char, nchar 최대크기 2000byte
3. VARCHAR2
- var + char2 가변길이 4000byte
- varchar2(10) == varchar2(10 byte) 황보영웅 (불가,12byte)
4. NVARCHAR2
- n+varchar2 유니코드 가변길이 4000byte
- varchar2(10) --무조건 10문자
5. VARCHAR
- 현재는 varchar2와 동일, varchar2의 별칭(시노님)
- 앞으로는 다르게 사용될 예정
6. LONG
- JAVA에서는 8byte 정수형이지만 Oracle에서는 2GB의 문자형을 의미한다.
7. NUMBER [ ( p [ ,s ] ) ]
- p:정밀도1~38 s:크기(소수점자리수 -84~127) []생략가능
- 만약 NUMBER(4,5)처럼 scale이 precision보다 크다면, 이는 첫자리에 0이 놓이게 된다.
- NUMBER(p)는 NUMBER(p,0)와 같은 의미이다.
- NUMBER로만 나타내는 것은 precision과 scale을 최대값으로 지정하는 것이다.
123.89 num(38,127) -> 123.89
123.89 num(3) -> 124
123.89 num(5,2) -> 123.89
'Oracle' 카테고리의 다른 글
[days07] 달력 그리기 (0) | 2020.11.06 |
---|---|
[days07] level 의사컬럼 (0) | 2020.11.06 |
[days07] SQL - RANK, ROLL UP (0) | 2020.11.06 |
[days06] SQL function 이어서 (0) | 2020.11.05 |
[days05] 집계함수 (0) | 2020.11.04 |