Oracle通过函数进行进制转化
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,十六进制转化为十进制:to_number()SQL> select to_number('a','x') from dual;TO_NUMBER('A','X')------------------
千家信息网最后更新 2025年01月20日Oracle通过函数进行进制转化
十六进制转化为十进制:to_number()
SQL> select to_number('a','x') from dual;TO_NUMBER('A','X')------------------ 10
十进制转化为十六进制:to_char()
SQL> select to_char(10,'xxx') from dual;TO_CHAR(10,'------------ a
二进制没有办法直接转化可以通过函数实现:
十进制转化为二进制
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 WHEN V_N1 = 0; END LOOP;--返回二进制长度 SELECT lpad(V_RTN,8,0) --八位不足补0 INTO V_RTN FROM dual;return V_RTN;end;
二进制转化为十进制:
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;
创建函数同义词
create public synonym number_to_bit for number_to_bit;grant execute on number_to_bit to public
十六转二和二转十六,则可以结合十转十六函数和二转十函数进行,这里不在额外举例。
ASCII码及ORACLE元数据转换函数:RAWTOHEX和HEXTORAW
SQL> select rawtohex(1) from dual;RAWTOHEX(1)------------C102SQL> select rawtohex('1') from dual;RAWTOH------31SQL> select rawtohex('a') from dual;RAWTOH------61SQL> select rawtohex('A') from dual;RAWTOH------41SQL> select hextoraw('A') from dual;HE--0ASQL> select hextoraw('1') from dual;HE--01
函数
二进制
十进制
十进
十六进制
长度
办法
可以通过
同义词
数据
绝对值
同义
进制
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国网公司网络安全建设
软件开发人员就业前景
数据库没有备份
线下网络安全培训哪个好
药物合成数据库检索
中盈惠普合作培养软件开发
梅州商城分销软件开发多少钱
王者荣耀如何卸载一个服务器
一个服务器可安装多个数据库吗
全国地理基础信息数据库
群晖服务器文件删除后恢复
网络安全和信息化期刊发表
手机提示网络安全
数据库安全加固命令大全
荒野的呼唤怎么进入好友服务器
国家网络安全宣传周 视频
sql数据库引擎设置
女孩学计算机软件开发
网络技术模拟免费软件
数据库的安全控制是什么
移动互联网通讯科技股
企业管理数据库设计
软件开发项目预算拆分粒度
河南app软件开发定制费用
教育系统和数据库的区别
网络技术考核要点
数据库中的熵增
信息网络安全专业考研科目
三级网络技术过了
gui的服务器