Oracle中的Raw类型解释Oracle认证考试

文章作者 100test 发表时间 2010:01:11 20:58:50
来源 100Test.Com百考试题网


  RAW,类似于CHAR,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。

  LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节

  建表操作:

  create table raw_test (id number, raw_date raw(10)).

  插入raw数据操作:

  insert into raw_test values (1, hextoraw(ff)).

  insert into raw_test values (utl_raw.cast_to_raw(051)).

  删除表操作:

  0drop table raw_test.

  当使用HEXTORAW时,会把字符串中数据当作16进制数。而使用UTL_RAW.CAST_TO_RAW时,直接把字符串中每个字符的ASCII码存放到RAW类型的字段中.

  可以使用dump函数,查询存储情况:

  0select id,raw_date, dump(raw_date, 16) dump_raw from raw_test.

  Oracle中RAW和Varchar2常用的两个转换函数

  1. UTL_RAW.CAST_TO_RAW

  该函数按照缺省字符集(一般为GB2312),将VARCHAR2字符串转换为RAW。

  insert into cmpp_submit (dest_terminal_id,msg_content) values(13001081371,UTL_RAW.CAST_TO_RAW(您好!)).

  2. UTL_RAW.CAST_TO_VARCHAR2

  该函数按照缺省字符集合(一般为GB2312),将RAW转换为VARCHAR2。

  0select UTL_RAW.CAST_TO_VARCHAR2(msg_content) from cmpp_deliver.

  其实RAW和VARCHAR是类似的,只是存储在RAW里的是二进制值,在任何时候不会做自动的字符集转换,这是RAW和VARCHAR的不同,RAW只是一种外部类型,其内部存储是VARRAW

  VARCHAR的Oracle内部定义是:struct { ub2 len. char arr[n] }

  VARRAW的ORACLE内部定义是: struct { ub2 len. unsigned char arr[n] }

  编辑特别推荐:

  Oracle数据库服务器参数文件管理技巧

  oracle中对排序的总结

  110个oracle常用函数总结



相关文章


Oracle物理结构概述Oracle认证考试
如何高效删除Oracle数据库中的重复数据Oracle认证考试
ORACLE数据库归档模式的切换Oracle认证考试
如何启动或关闭数据库的归档模式Oracle认证考试
Oracle中的Raw类型解释Oracle认证考试
Oracle中的profileOracle认证考试
oracle笔记之简单查询、限定查询和排序Oracle认证考试
oracle临时表的用法总结Oracle认证考试
如何获得Oracle系统性能统计?Oracle认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛