-- 이진 문자열
SQL> drop table t;
테이블이 삭제되었습니다.
SQL>
SQL> create table t ( raw_data raw(16));
테이블이 생성되었습니다.
SQL>
SQL> insert into t values(sys_guid());
1 개의 행이 만들어졌습니다.
SQL>
SQL> select * from t;
RAW_DATA
--------------------------------
1D43917F3BB7485CA88CEAFC964BC184
SQL> select dump(raw_data,16) from t;
DUMP(RAW_DATA,16)
--------------------------------------------------------------------------
Typ=23 Len=16: 1d,43,91,7f,3b,b7,48,5c,a8,8c,ea,fc,96,4b,c1,84
SQL> insert into t values('abcdef');
1 개의 행이 만들어졌습니다.
SQL> insert into t values('abcdefgh');
insert into t values('abcdefgh')
*
1행에 오류:
ORA-01465: 16진수의 지정이 부적합합니다
- HEXTORAW : 16진수 문자열을 RAW 타입으로 변환
- RAWTOHEX : RAW 데이터를 16진수 문자열로 변환
SQL> select rawtohex(raw_data) from t;
RAWTOHEX(RAW_DATA)
----------------------------------------------------------------
1D43917F3BB7485CA88CEAFC964BC184
ABCDEF
-- 명시적인 변환
SQL> insert into t values(hextoraw('abcdef'));
1 개의 행이 만들어졌습니다.
-- 그렇다면 abcdefg 값을 hex값으로 변환하여 넣음
SQL> delete from t;
6 행이 삭제되었습니다.
SQL> insert into t values(rawtohex('abcdefg'));
1 개의 행이 만들어졌습니다.
SQL> select * from t;
RAW_DATA
--------------------------------
61626364656667
- 강좌 URL : http://www.gurubee.net/lecture/4051
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.