raw类型浅析

来源:互联网 发布:php软件开发工具 编辑:程序博客网 时间:2024/05/21 09:47
--raw类型如果某个字节串算不上是文本,而且这个字符串不应在字符集发生变化时进行转换,那么这种字节串就应当存储在二进制的数据类型(RAW)中。EODA@PROD1> create table t ( raw_data raw(16) );  --16字节Table created.EODA@PROD1> insert into t values ( sys_guid() );  --sys_guid()返回一个全局唯一的16字节RAW串1 row created.EODA@PROD1> select * from t;  --看起来像是以字符串保存,而且超过了16字节RAW_DATA--------------------------------401518970C5809ECE053479DA8C0C13FEODA@PROD1> select dump(raw_data,16) from t;  --Len=16字节DUMP(RAW_DATA,16)----------------------------------------------------------------------------------------------------Typ=23 Len=16: 40,15,18,97,c,58,9,ec,e0,53,47,9d,a8,c0,c1,3fEODA@PROD1> insert into t values ( 'abcdef' );  --插入的是16进制的AB CD EF1 row created.EODA@PROD1> insert into t values ( 'abcdefgh' );  --插入非16禁止则失败insert into t values ( 'abcdefgh' )                             *ERROR at line 1:ORA-01465: invalid hex numberEODA@PROD1> select rawtohex(raw_data) from t;  --rawtohex()RAWTOHEX(RAW_DATA)--------------------------------401518970C5809ECE053479DA8C0C13FABCDEFEODA@PROD1> insert into t values ( hextoraw('abcdef') );   --hextoraw()将RAW转换为16进制1 row created.

0 0
原创粉丝点击