oracle raw十六进制,Oracle RAW类型基本操作函数及使用示例

-- Created on 2017/5/17 by ADMINISTRATOR

declare

-- Local variables here

i integer;

j integer;

len number(3) := 0;

pos number(3) := 0;

count1 number(3) := 0;

vec RAW(32) := 'FF11AA3344DDEEBBAA11998855367833FF11AA3344DDEEBBAA11998855367833';

nvec RAW(4);

nvec2 RAW(4);

v_start TIMESTAMP(8) ;

v_end TIMESTAMP(8) ;

v_interval INTERVAL DAY TO SECOND;

begin

-- Test statements here

len := utl_raw.length(vec);

DBMS_OUTPUT.put_line('Vector = ' || vec);

v_start := sysdate;

DBMS_OUTPUT.put_line('v_start = ' || v_start);

for i in 1..len

LOOP

nvec := utl_raw.substr(vec,i,1);

IF utl_raw.compare(nvec,'ff') != 0

THEN

FOR j IN 1..8

LOOP

nvec2 := utl_raw.substr(utl_raw.cast_from_binary_integer(1*power(2,(8-j))),4,1);

IF utl_raw.bit_and(nvec, nvec2) != nvec2

THEN

pos := 8*(i-1)+j;

count1 := count1 + 1;

DBMS_OUTPUT.put_line('pos = ' || pos);

END IF;

END LOOP;

END IF;

END LOOP;

DBMS_OUTPUT.put_line('count1 = ' || count1);

v_end := sysdate;

DBMS_OUTPUT.put_line('v_end = ' || v_end);

v_interval := (v_end - v_start) DAY TO SECOND;

DBMS_OUTPUT.put_line('v_interval = ' || v_interval);

end;

计算结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值