博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle进制-10进制跟2进制互转
阅读量:5942 次
发布时间:2019-06-19

本文共 945 字,大约阅读时间需要 3 分钟。

CREATE OR REPLACE FUNCTION NUMBER_TO_BIT(V_NUM NUMBER)RETURN VARCHAR IS V_RTN VARCHAR(8);--注意返回列长度  V_N1  NUMBER;  V_N2  NUMBER;BEGINV_N1 := V_NUM;    LOOP      V_N2  := MOD(V_N1, 2);      V_N1  := ABS(TRUNC(V_N1 / 2));      V_RTN := TO_CHAR(V_N2) || V_RTN;      EXIT WHENV_N1 = 0;    END LOOP;--返回二进制长度 SELECT lpad(V_RTN,8,0)    INTO   V_RTN    FROM dual;return V_RTN; END;
CREATE OR REPLACEFUNCTION BIT_TO_NUMBER(P_BIN INVARCHAR2) RETURNNUMBER AS  V_SQL    VARCHAR2(30000) := 'SELECT BIN_TO_NUM(';  V_RETURN NUMBER;BEGIN  IF LENGTH(P_BIN) >= 256 THEN    RAISE_APPLICATION_ERROR(-20001, 'INPUT BIN TOO LONG!');  ENDIF;  IF LTRIM(P_BIN, '01') IS NOT NULL THEN    RAISE_APPLICATION_ERROR(-20002, 'INPUT STR IS NOT VALID BIN VALUE!');  END IF;  FORI IN 1 .. LENGTH(P_BIN) LOOP    V_SQL := V_SQL || SUBSTR(P_BIN, I, 1) || ',';  END LOOP;  V_SQL := RTRIM(V_SQL, ',') || ') FROM DUAL';  EXECUTE IMMEDIATE V_SQL    INTO V_RETURN;  RETURN V_RETURN;END;

 

转载地址:http://jhmtx.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
wdcp 安装
查看>>
C语言运算符优先级相关问题
查看>>
MP4视频播放器代码
查看>>
Nginx 匹配 iphone Android 微信
查看>>
ldap
查看>>
Yum软件仓库配置
查看>>
linux 压缩与解压总结
查看>>
mysql脚本1064 - You have an error in your SQL syntax; check the manual
查看>>
nessus 本地扫描(一)
查看>>
linux服务器磁盘陈列
查看>>
python----tcp/ip http
查看>>
我的友情链接
查看>>
第一本docker书学习笔记1-3章
查看>>
一個典型僵尸網絡淺析
查看>>
vmware克隆Centos6.4虚拟机网卡无法启动问题
查看>>
dba学习
查看>>
asterisk配置
查看>>
GA操作步骤和技巧(二)——用户行为分析
查看>>
shell中while循环里使用ssh的注意事项
查看>>