对OracleRaw常见类型的解释

我们今天主要向大家介绍的是Oracle Raw常见类型的解释,我们都知道RAW,其与CHAR十分类似,我们对其的声明方式Oracle RAW(L),L为长度,以相关字节作为单位,作为实际数据库列***2000,作为变量***32767字节。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的宁洱网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

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

建表操作:

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

插入raw数据操作:

 
 
 
  1. insert into raw_test values (1, hextoraw('ff'));  
  2. insert into raw_test values (utl_raw.cast_to_raw('051'));  

 

删除表操作:

 
 
 
  1. drop table raw_test; 

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

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

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

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

1. UTL_RAW.CAST_TO_RAW

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

 
 
 
  1. 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。

 
 
 
  1. select UTL_RAW.CAST_TO_VARCHAR2(msg_content) from cmpp_deliver; 

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

VARCHAR的Oracle内部定义是:

 
 
 
  1. struct { ub2 len; char arr[n] } 

VARRAW的ORACLE内部定义是:

 
 
 
  1. struct { ub2 len; unsigned char arr[n] }  

上述的相关内容就是对Oracle Raw类型解释的描述,希望会给你带来一些帮助在此方面。

网站名称:对OracleRaw常见类型的解释
文章URL:http://www.csdahua.cn/qtweb/news7/248307.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网