我在甲骨文中使用Asciistr方法,它应该将给定的结构转换为ascii。阿拉伯字符转换正确,但英语仍然一样,而在一些在线转换器,我可以看到,数字,如1和2转换成0031和0032。以下是我的方法:
create or replace procedure replace_ascii(test_var in varchar2,valueRet out varchar2) is
begin
select replace (asciistr(test_var), '\', null)
into valueRet
from dual;
end replace_ascii;我目前正在用它们的期望值来代替数字:
select replace(replace (valueRet,'1','0031'),'2','0032')
....
into valueRet
from dual; 但是我不想用“替换”20次来返回正确的值。转换这些字符的最佳方法是什么?
1-> 0031
2-> 0032
A-> 0041
.
我是不是漏掉了什么?PLease检查此链接http://r12a.github.io/apps/conversion/并尝试转换英文数字和字母,并检查最后一个标签的结果。
发布于 2016-10-14 10:40:02
select case when length(asciistr(test_var)) = 1 then to_char(ascii(test_var)) else to_char(asciistr(test_var)) end as value
from dual;尝尝这个。
https://stackoverflow.com/questions/40040560
复制相似问题