oracle的位运算
来源:互联网 发布:淘宝买家信息采集器 编辑:程序博客网 时间:2024/05/16 15:36
Tags: 位运算 oracle
create or replace package bitops2 is
function bitand(p_dec1 number, p_dec2 number) return varchar2 ;
function bitor(p_dec1 number, p_dec2 number) return varchar2 ;
function bitxor(p_dec1 number, p_dec2 number) return varchar2 ;
function raw_ascii(p_dec number) return raw;
function ascii_raw(p_raw varchar2) return number;
function bitnot(p_dec1 number) return number;
end;
create or replace package body bitops2 is
function raw_ascii(p_dec number) return raw is
v_result varchar2(1999);
v_tmp1 number := p_dec;
begin
loop
v_result := chr(mod(v_tmp1,256)) || v_result ;
v_tmp1 := trunc(v_tmp1/256);
exit when v_tmp1 = 0;
end loop;
return utl_raw.cast_to_raw(v_result);
end;
function ascii_raw(p_raw varchar2) return number is
v_result number := 0;
begin
for i in 1 .. length(p_raw) loop
v_result := v_result * 256 + ascii(substr(p_raw,i,1));
end loop;
return v_result;
end;
function bitand(p_dec1 number, p_dec2 number) return varchar2 is
begin
return
ascii_raw(
utl_raw.cast_to_varchar2(
utl_raw.bit_and(
raw_ascii(p_dec1),
raw_ascii(p_dec2)
)
)
);
end;
function bitor(p_dec1 number, p_dec2 number) return varchar2 is
begin
return
ascii_raw(
utl_raw.cast_to_varchar2(
utl_raw.bit_or(
raw_ascii(p_dec1),
raw_ascii(p_dec2)
)
)
);
end;
function bitxor(p_dec1 number, p_dec2 number) return varchar2 is
begin
return
ascii_raw(
utl_raw.cast_to_varchar2(
utl_raw.bit_xor(
raw_ascii(p_dec1),
raw_ascii(p_dec2)
)
)
);
end;
function bitnot(p_dec1 number) return number is
begin
return (0 - p_dec1) - 1;
end;
end;
- oracle的位运算
- 屌爆的ORACLE and位运算
- oracle位运算
- oracle 位运算
- Oracle按位运算符
- oracle里面对数字的位与或运算
- 位运算数的运算
- 位运算的应用
- 位运算的应用
- Java的位运算
- 位运算的妙用
- 位运算的应用
- 位运算的技巧
- 常用的位运算
- 强大的位运算
- 位运算的使用
- 位运算的意义
- php的位运算
- 难道都是我的错。
- 如何为web用户定制登录表单
- 使用Google Web API (Web Service) 构建本站搜索
- 如何为web用户定制错误表单
- [转贴]进程注射一则
- oracle的位运算
- QuiQpro学习
- Notes 数据库结构介绍
- Domino服务器任务介绍
- jsp中类似asp查询并修改数据的做法
- [转载]史蒂夫·乔布斯在斯坦福大学的演讲: 追随你所爱!
- Domino 6 中的策略简介
- C语言中变量的位置与程序优化
- excel的绝对引用与相对引用