|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如IBM公司最近宣布让渠道合作伙伴分销其SaaS应用程序的新计划。微软认为MySQL学习教程是销售其云计算服务的重要组成部分。然而即使有这种趋势,DBaaS仍然不同于内部数据库,解决方案提供商必须认识到这一点;否则,他们不仅仅是丢失几个客户,而是要失去的更多。oracle|转换Eygle出处:BLOG
进制转换是开辟中常常必要用到的,本文复杂先容几种经常使用的进制转化办法.
一16进制转换为10进制
能够经由过程to_number函数完成
SQL>selectto_number(’19f’,’xxx’)fromdual;
TO_NUMBER(’19F’,’XXX’)
----------------------
415
SQL>selectto_number(’f’,’xx’)fromdual;
TO_NUMBER(’F’,’XX’)
-------------------
15
二10进制转换为16进制
能够经由过程to_char函数转换
SQL>selectto_char(123,’xxx’)fromdual;
TO_C
----
7b
SQL>selectto_char(4567,’xxxx’)fromdual;
TO_CH
-----
11d7
三2进制转换为10进制
从Oracle9i入手下手,供应函数bin_to_num举行2进制到10进制的转换
SQL>selectbin_to_num(1,1,0,1)a,bin_to_num(1,0)bfromdual;
AB
---------------
132
SQL>selectbin_to_num(1,1,1,0,1)fromdual;
BIN_TO_NUM(1,1,1,0,1)
---------------------
29
四经由过程自界说函数完成进制转换
以下函数来自AskTom网站,是Tom给出的例子,供参考:
createorreplacefunctionto_base(p_decinnumber,p_baseinnumber)
returnvarchar2
is
l_strvarchar2(255)defaultNULL;
l_numnumberdefaultp_dec;
l_hexvarchar2(16)default’0123456789ABCDEF’;
begin
if(trunc(p_dec)p_decORp_dec<0)then
raisePROGRAM_ERROR;
endif;
loop
l_str:=substr(l_hex,mod(l_num,p_base)+1,1)||l_str;
l_num:=trunc(l_num/p_base);
exitwhen(l_num=0);
endloop;
returnl_str;
endto_base;
/
createorreplacefunctionto_dec
<P>(p_strinvarchar2,
p_from_baseinnumberdefault16)returnnumber
is
l_numnumberdefault0;
l_hexvarchar2(16)default’0123456789ABCDEF’;
begin
foriin1..length(p_str)loop
l_num:=l_num*p_from_base+instr(l_hex,upper(substr(p_str,i,1)))-1;
endloop;
returnl_num;
endto_dec;
/
showerrors
createorreplacefunctionto_hex(p_decinnumber)returnvarchar2
is
begin
returnto_base(p_dec,16);
endto_hex;
/
createorreplacefunctionto_bin(p_decinnumber)returnvarchar2
is
begin
returnto_base(p_dec,2);
endto_bin;
/
createorreplacefunctionto_oct(p_decinnumber)returnvarchar2
is
begin
returnto_base(p_dec,8);
endto应用程序需要使用数据库,数据库本身需要设计、开发和部署。还有MySQL学习教程,客户怎样实施混合系统,或者需要帮助管理多个云服务? |
|