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(‘中文測試’));
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!
中文測試
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 中文測試
這里用到了兩個函數:
utl_raw.cast_to_raw([varchar2]);–將varchar2轉換為raw類型
utl_raw.cast_to_varchar2([raw]);–將raw轉換為varchar2類型
這里varchar2的字符集一般是GB2312。
另外:
utl_raw包的幾個其他的函數用法:
utl_raw.cast_from_number([number]);
utl_raw.cast_to_number([number]);
位操作:
utl_raw.bit_or();
utl_raw.bit_and();
utl_raw.bit_xor();
另外還有轉換函數:
hextoraw(); –將對應16進制數轉換為raw
當使用HEXTORAW時,會把字符串中數據當作16進制數。而使用UTL_RAW.CAST_TO_RAW時,直接把字符串中每個字符的ASCII碼存放到RAW類型的字段中
總結
以上是生活随笔為你收集整理的oracle raw性能,对Oracle Raw类型的详细解剖的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle的释放机制,Oracle连接
- 下一篇: 程序设计基础(c语言),程序设计基础(C