【发布时间】:2020-06-20 18:27:13
【问题描述】:
我需要将字母数字转换为数字,反之亦然。
示例:如果传递了'A2',那么我在下面编写了查询以将其转换为数字:
select sum(val) from (
select power(36, loc - 1) *
case when letter between '0'
and '9'
then to_number(letter)
else 10 + ascii(letter) - ascii('A')
end as val from(
select substr(ip_str, length(ip_str) + 1 - level, 1) letter,
level loc from(select 'A2'
ip_str from dual) connect by level <= length(ip_str)
)
); --sum(val) returns 362
如何将362 解码回'A2'?
【问题讨论】:
-
这里的字母数字是指基数 36 吗?如果是stackoverflow.com/questions/2568668/…
-
不抱歉,我的意思是以 36 为基数的数字。我想将 36 基数转换为字母数字。
标签: sql oracle alphanumeric