2011年7月17日日曜日

[数据类型] RAW类型

- 适用范围
-- 二进制信息
-- 不需要进行字符转换的文本
-- RAW类型可以像其他类型一样加索引

- 类型
-- RAW
-- BLOB
-- LONG RAW --- 不推荐使用

- 创建带有raw列的表t
sys@DEMO> create table t (a raw(16));

Table created.

sys@DEMO> insert into t values (sys_guid()); --- sys_guid()内置函数产生全局唯一的id

1 row created.

sys@DEMO> select rawtohex(a),dump(a) from t; --- 数据库中存储的是二进制,但默认显示16进制, 取得RAW数据时建议做显式转换
RAWTOHEX(A)                        DUMP(A)
----------------------------------------    ------------------------------------------------------------------------------------
A840D08C5432C2B7E040007F01001E8E   Typ=23 Len=16: 168,64,208,140,84,50,194,183,224,64,0,127,1,0,30,142

1 row selected.

sys@DEMO> insert into t values (hextoraw('abcdef')); --- sqlplus中插入的字符串会当作16进制数隐式转换, 插入RAW数据时建议做显式转换

1 row created.

sys@DEMO> select a,dump(a) from t;
A        DUMP(A)
--------   --------------------------------------------
ABCDEF   Typ=23 Len=3: 171,205,239

1 row selected.

0 件のコメント:

コメントを投稿