gpt4 book ai didi

sql - 仅使用 SQL 将 Base 36 转换为 Base 10

转载 作者:行者123 更新时间:2023-12-03 20:07:51 27 4
gpt4 key购买 nike

出现了一种情况,我需要在 SQL 语句的上下文中执行 base 36 到 base 10 的转换。 Oracle 9 或 Oracle 10 中似乎没有内置任何内容来解决此类问题。我的 Google-Fu 和 AskTom 建议创建一个 pl/sql 函数来处理该任务。在这一点上,这对我来说不是一个选择。 我正在寻找可能帮助我解决此问题的方法的建议。

把它变成一个视觉形式......

WITH
Base36Values AS
(
SELECT '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' myBase36 FROM DUAL
),
TestValues AS
(
SELECT '01Z' BASE36_VALUE,
71 BASE10_VALUE FROM DUAL
)
SELECT *
FROM Base36Values,
TestValues

我正在寻找根据输入 01Z 计算值 71 的东西。
编辑 - 这是倒退......给定 01Z 将其转换为 71。

作为贿赂,每个有用的答案都会得到一个免费的赞。

谢谢

邪恶。

最佳答案

select sum(position_value) from
(
select power(36,position-1) * case when digit between '0' and '9'
then to_number(digit)
else 10 + ascii(digit) - ascii('A')
end
as position_value
from (
select substr(input_string,length(input_string)+1-level,1) digit,
level position
from (select '01Z' input_string from dual)
connect by level <= length(input_string)
)
)

关于sql - 仅使用 SQL 将 Base 36 转换为 Base 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568668/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com