天萃荷净

ORACLE 十进制与二进制互转函数,开发DBA向我咨询数值转换的方法,Oracle数值转换函数NUMBER_TO_BIT等函数可用

1.Oracle数值转换之十进制转换二进制

CREATE OR REPLACE FUNCTION NUMBER_TO_BIT(V_NUM NUMBER)

RETURN VARCHAR IS V_RTN VARCHAR(8);--注意返回列长度

V_N1 NUMBER;

V_N2 NUMBER;

BEGIN

V_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 WHEN V_N1 = 0;

END LOOP;

--返回二进制长度

SELECT lpad(V_RTN,8,0)

INTO V_RTN

FROM dual;

return V_RTN;

end;

SQL> select NUMBER_TO_BIT(208) from dual;

NUMBER_TO_BIT(208)

-----------------------------

11010000

2.Oracle数值转换函数之二进制转换十进制

CREATE OR REPLACE FUNCTION BIT_TO_NUMBER(P_BIN IN VARCHAR2) RETURN NUMBER 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!');

END IF;

IF LTRIM(P_BIN, '01') IS NOT NULL THEN

RAISE_APPLICATION_ERROR(-20002, 'INPUT STR IS NOT VALID BIN VALUE!');

END IF;

FOR I 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;

SQL> SELECT BIT_TO_NUMBER('11010000') FROM DUAL;

BIT_TO_NUMBER('11010000')

-------------------------

208

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之学习笔记:Oracle数值函数 十进制与二进制相互转换的函数使用案例

Oracle数据二进制传输,学习笔记:Oracle数值函数 十进制与二进制相互转换的函数使用案例...相关推荐

  1. oracle数据变化记录,学习笔记:Oracle伪列函数ora_rowscn 记录表中行数据的修改时间...

    天萃荷净 Oracle数据库开发时使用伪列函数ora_rowscn查询出数据库表中行数据的修改时间 一.默认情况下 –创建t_orascn测试表 SQL> create table t_oras ...

  2. oracle数据库开多线程,学习笔记:Oracle表数据导入 DBA常用单线程插入 多线程插入 sql loader三种表数据导入案例...

    天萃荷净 oracle之数据导入,汇总开发DBA在向表中导入大量数据的案例,如:单线程向数据库中插入数据,多线程向数据表中插入数据,使用sql loader数据表中导入数据案例 1.Oracle数据库 ...

  3. oracle 最大值及其_学习笔记:Oracle优化 SQL查询最大值 最小值时的优化方法案例...

    天萃荷净 select max(id),min(id) from table优化,分享开发DBA需求,在SQL语句查询最大值.最小值数据时的优化方式案例 1.查看数据库版本 SQL> selec ...

  4. oracle 创建角色 权限设置,[学习笔记] Oracle创建用户、分配权限、设置角色,

    [学习笔记] Oracle创建用户.分配权限.设置角色, 创建用户 create user student --用户名 identified by "123456" --密码 de ...

  5. oracle 删除awr报告,学习笔记:Oracle awr入门 深入了解AWR报告

    天萃荷净 深入了解AWR报告,ASH与AWR报告的官方说明,数据库进程和性能视图获取 1.AWR与ASH概念 1.ASH 若是一个普通的会话(我是指没有大量地耗费资源),则对于性能调整来说无足轻重.但 ...

  6. oracle的脚本日志,学习笔记:Oracle alert日志文件巡检脚本

    天萃荷净 分享一篇Oracle alert日志文件巡检脚本 每天都检查oracle日志,所以写了一个比较完善的shell,让其自动处理,在运行程序之前,需要在该脚本目录下新建tmp目录 #!/usr/ ...

  7. oracle rac 环境配置文件,学习笔记:Oracle RAC spfile参数文件配置案例详解

    天萃荷净 rac中的spfile探讨,记录一下Oracle RAC搭建完成后关于spfile参数文件的配置案例,与更改RAC环境中参数文件的方法 今天朋友的的rac,因为被同事做数据库升级,分别在两个 ...

  8. 大数据Hadoop教程-学习笔记02【Apache Hadoop、HDFS】

    视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程 教程资源:https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g 提取码: 6666 [P001-P ...

  9. 大数据Hadoop教程-学习笔记01【大数据导论与Linux基础】

    视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程,总时长:14:22:04 教程资源:https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g,提取码: ...

最新文章

  1. 重磅!革命级AI代码补全工具,这款撸码利器让程序员界沸腾了!
  2. mysql delete 注意
  3. 15个应该掌握的jupyter notebook技巧
  4. c语言四则运算实验报告,c语言四则运算实验报告.doc
  5. USTC English Club Note20171013(2)
  6. 单片机c语言必背代码_【典藏】深度剖析单片机程序的运行(C程序版)
  7. 教师计算机应用研讨交流,计算机应用技术专业技能比赛研讨交流活动在济南信息工程学校举行...
  8. Hadoop 基本数据类型
  9. ai的预览模式切换_当AI频繁切换色彩预览模式时 颜色会越变越深 求解?
  10. YII2 搭建redis拓展(教程)
  11. 文件读写和字符串、列表的排序
  12. 【redis源码】(五)Ziplist
  13. 虫师带你入门Chrome Headless,从此爬虫0门槛!
  14. Excel如何查找重复内容
  15. 教你如何养微信小号,什么样的号可以群爆粉?
  16. 人工智能专业应不应该读博士?
  17. pytorch dataset自定义_PyTorch | 数据加载及预处理教程
  18. python 取整函数
  19. 花式栈溢出值stack smash
  20. 本人专访微信魔法表情“米悠”作者流星剑

热门文章

  1. 2021年全国防疫政策在线查询源码
  2. 《雍正皇帝·九王夺嫡》物质文化专有词泰译研究(三)
  3. QT 在release 模式下构建项目使用断点调试
  4. wireshark 学习 3 display filter
  5. 一位大佬的计算机科学英文面试准备
  6. 用代码实现一个简单计算器
  7. 支付宝支付返回错误码4000
  8. 典型相关分析,奇异值分解,RRR(Reduced-Rank Regression)
  9. 线程句柄以及createthread()和closehadle()
  10. 3D可视化孪生系统之燃气展示方案