易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle中的Raw类型解释

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'));
  删除表操作:
  drop table raw_test;
  当使用HEXTORAW时,会把字符串中数据当作16进制数。而使用UTL_RAW.CAST_TO_RAW时,直接把字符串中每个字符的ASCII码存放到RAW类型的字段中.
  可以使用dump函数,查询存储情况:
  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。
  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。
  select 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——分析函数OVER ()

分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是
对于每个组返回多行,而聚合函数对于每个组只返回一行。
SQL> select t.empno,t.ename,sum(t.sal)
2 from emp t;
select t.empno,t.ename,sum(t.sal)
*
ERROR at line 1:
ORA-00937: not a single-group group function
SQL> selec ......

Oracle数据库主机名重构(For Windows)

在Net Manager工具中,  
  将监听程序的监听位置的主机名改为  新机名  
  将服务名中对应数据库的主机名改为  新机名  
   
  改了监听程序后,在MS-DOS中运行  
  lsnrctl   stop  
  lsnr ......

oracle存储过程异常信息的显示

oracle存储过程异常信息的显示
之前写存储过程时,异常处理写法是:
...
EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;
END ...
这种写法当存储过程抛出异常时,我们不知道其到底抛出了哪种异常(比如列宽度不够大而在插入数据时抛异常),可以按如下方式显示异常信息
EXCEPTION
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号