请问,有没有把16进指字符串转成number的函数(Oracle9i)?

myy 2004-07-17 10:48:05
比如: FEEF -> 65263
...全文
110 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lubin59 2004-07-18
  • 打赏
  • 举报
回复
怎么这么高的信誉啊
myy 2004-07-18
  • 打赏
  • 举报
回复
谢谢!
WilliamXiaoLiang 2004-07-18
  • 打赏
  • 举报
回复
在论坛搜索一下,用“数据类型转换”作为关键字,以前看到过的
QQ:390958177
Email:xiaol@chinaebiz.biz
wolfAone 2004-07-18
  • 打赏
  • 举报
回复
如何用sql实现字符型十六进制如何转换成十进制
select to_number('FFFF','xxxxxxxxxxxxxxx') from dual;
wolfAone 2004-07-18
  • 打赏
  • 举报
回复
select TO_NUMBER('ff','XXXXXXXXXXXXXXXXX') from dual
洪十二 2004-07-18
  • 打赏
  • 举报
回复
select TO_NUMBER('FEEF','XXXXXX') from dual

65263
万年水母 2004-07-18
  • 打赏
  • 举报
回复
倒,还需要这么复杂啊。

select TO_NUMBER('ff','XXXXXX') from dual
atao245993 2004-07-18
  • 打赏
  • 举报
回复
自己写函数转化,下面是一个例子:
create or replace FUNCTION hextodec (hexnum in char) RETURN number IS
x number;
digits number;
result number := 0;
current_digit char(1);
current_digit_dec number;

BEGIN
digits := length(hexnum);
for x in 1..digits loop
current_digit := upper(SUBSTR(hexnum, x, 1));
if current_digit in ('A','B','C','D','E','F') then
current_digit_dec := ascii(current_digit) - ascii('A') + 10;
else
current_digit_dec := to_number(current_digit);
end if;
result := (result * 16) + current_digit_dec;
end loop;
return result;
END;
beckhambobo 2004-07-17
  • 打赏
  • 举报
回复
要作一个自定义函数转换,几年前有张贴子有所提及到,现在忘记了。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧