首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将base32转换为十进制数

将base32转换为十进制数
EN

Stack Overflow用户
提问于 2019-11-21 15:40:08
回答 1查看 608关注 0票数 0

有人能帮我把base32值转换成十进制数字吗?我有一个sql语句,它返回一个base32值的列表。例如,select返回如下所示:

5

8

H

13r

现在,我需要弄清楚这些值中哪个值最高(在本例中是13r)。因此,我需要一个函数来将这些base32值转换为十进制数,以便对它们进行排序。有没有人有这样的功能,还是有人有不同的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-21 16:14:11

这会有点棘手。

您可以创建一个function,它将每个字符/数字从原始的base32数字中分离出来,并将其与32^( base32数字中的位置)相乘,以获得十进制等效数字,并在查询中使用该function

创建函数convert32todecimal(p_num in varchar2)返回号作为lv_outnum号;将select sum( val )从(选择幂(32,pos) *当d在'0‘和'9’之间时开始选择和( lv_outnum (D)upper 10 + ascii(d) - ascii('A')结束为val from (选择上游(p_num,长度(P_num)+1级,1)) d,二级<=长度(P_num)作为二级连接的pos );返回lv_outnum;结束;/

现在,在查询中使用此函数如下:

和your_data(num)为(从双结合中选择'5‘,从双结合中选择'8’,从双结合中选择'H‘,从双结合中选择'13r’)选择num,从your_data顺序中选择convert32todecimal(num);

db<>fiddle demo

干杯!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58978589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档