|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
尽管DBaaS模式有缺点,但它还是适合某些客户群体,这为解决方案提供商提供了新的商机。鉴于云服务的增长,解决方案提供商除了拥抱这些技术还有什么选择呢?如果他们不这样做,他们就会冒着被竞争对手击败的风险。但他们不能只想到如何把DBaaS的利润率与企业内部系统相比较。oracle|转换|字符串
ORACLE中怎样完成ASC字符串和16进制串相互转换
接待人人同我交换:enhydraboyenhydra_boy@tom.com
接待转载,请保存本声明,感谢!
上面是笔者之前回覆csdn论坛上成绩的总结,但愿对人人有效。
ASC字符串==>16进制串
createorreplacefunctionAscToHex(sInINvarchar2)
RETURNvarchar2
IS
sTmpvarchar2(4000);
iinteger;
BEGIN
i:=1;
stmp:=;
foriin1..length(sIn)loop
sTmp:=sTmp||trim(to_char(ascii(substr(sIn,i,1)),XXXX));
endloop;
returnsTmp;
END;
/
16进制串==>ASC字符串
要辨别字符集,以中笔墨符为例,关于数据库字符集是中文,要包管可以准确转返来,要有所分歧。
数据库字符集是中文
createorreplacefunctionHexToAsc(sInINvarchar2)
RETURNvarchar2
IS
sTmpvarchar2(4000);
iinteger;
xinteger;
BEGIN
i:=1;
stmp:=;
loop
exitwheni>length(sIn);
x:=to_number(substr(sIn,i,2),XXXX);
ifx>128then
sTmp:=sTmp||chr(to_number(substr(sIn,i,4),XXXX));
i:=i+4;
else
sTmp:=sTmp||chr(to_number(substr(sIn,i,2),XXXX));
i:=i+2;
endif;
endloop;
returnsTmp;
END;
/
数据库字符集是英文
createorreplacefunctionHexToAsc(sInINvarchar2)
RETURNvarchar2
IS
sTmpvarchar2(4000);
iinteger;
BEGIN
i:=1;
stmp:=;
loop
exitwheni>length(sIn);
sTmp:=sTmp||chr(to_number(substr(sIn,i,2),XXXX));
i:=i+2;
endloop;
returnsTmp;
END;
/
测试,以下:
SQL>selecthextoasc(asctohex(你好ABC么))fromdual;
HEXTOASC(ASCTOHEX(拿好ABC么))
--------------------------------------------------------------------------------
你好ABC么
MySQL的双许可模式意味着,那些希望对数据库具有额外控制的人可以直接从数据库厂商那儿得到帮助。MySQLAB公司提供了支持和维护服务,诸如代码更新和补丁修补服务等,每年订阅费为大约3000美元。 |
|