oracle raw性能,对Oracle Raw类型的详细解剖
SQL create table datatype_test_raw(paddr raw(8)); Table created SQL insert into datatype_test_raw(paddr) values(utl_raw.cast_to_raw(‘This is a raw type test!’)); insert into datatype_test_raw(paddr) values(utl_raw.cast_to_raw(‘This is a raw
SQL> create table datatype_test_raw(paddr raw(8));
Table created
SQL> insert into datatype_test_raw(paddr) values(utl_raw.cast_to_raw(‘This is a raw type test!’));
insert into datatype_test_raw(paddr) values(utl_raw.cast_to_raw(‘This is a raw type test!’))
ORA-01401: inserted value too large for column
SQL> alter table datatype_test_raw modify paddr raw(20);
Table altered
SQL> insert into datatype_test_raw(paddr) values(utl_raw.cast_to_raw(‘This is a raw type test!’));
insert into datatype_test_raw(paddr) values(utl_raw.cast_to_raw(‘This is a raw type test!’))
ORA-01401: inserted value too large for column
SQL> insert into datatype_test_raw(paddr) values(utl_raw.cast_to_raw(‘This is a raw test!’));
1 row inserted
SQL> commit;
Commit complete
SQL> select * from datatype_test_raw;
PADDR
—————————————-
54686973206973206120726177207465737421
SQL> select utl_raw.cast_to_varchar2(paddr) from datatype_test_raw;
UTL_RAW.CAST_TO_VARCHAR2(PADDR
——————————————————————————–
This is a raw test!
SQL> insert into datatype_test_raw(paddr) values(utl_raw.cast_to_raw(‘中文測(cè)試’));
1 row inserted
SQL> commit;
Commit complete
SQL> select utl_raw.cast_to_varchar2(paddr) from datatype_test_raw;
UTL_RAW.CAST_TO_VARCHAR2(PADDR
——————————————————————————–
This is a raw test!
中文測(cè)試
SQL> select paddr, utl_raw.cast_to_varchar2(paddr) from datatype_test_raw;
PADDR UTL_RAW.CAST_TO_VARCHAR2(PADDR
—————————————- ——————————————————————————–
54686973206973206120726177207465737421 This is a raw test!
D6D0CEC4B2E2CAD4 中文測(cè)試
這里用到了兩個(gè)函數(shù):
utl_raw.cast_to_raw([varchar2]);–將varchar2轉(zhuǎn)換為raw類型
utl_raw.cast_to_varchar2([raw]);–將raw轉(zhuǎn)換為varchar2類型
這里varchar2的字符集一般是GB2312。
另外:
utl_raw包的幾個(gè)其他的函數(shù)用法:
utl_raw.cast_from_number([number]);
utl_raw.cast_to_number([number]);
位操作:
utl_raw.bit_or();
utl_raw.bit_and();
utl_raw.bit_xor();
另外還有轉(zhuǎn)換函數(shù):
hextoraw(); –將對(duì)應(yīng)16進(jìn)制數(shù)轉(zhuǎn)換為raw
當(dāng)使用HEXTORAW時(shí),會(huì)把字符串中數(shù)據(jù)當(dāng)作16進(jìn)制數(shù)。而使用UTL_RAW.CAST_TO_RAW時(shí),直接把字符串中每個(gè)字符的ASCII碼存放到RAW類型的字段中
總結(jié)
以上是生活随笔為你收集整理的oracle raw性能,对Oracle Raw类型的详细解剖的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle的释放机制,Oracle连接
- 下一篇: 程序设计基础(c语言),程序设计基础(C