gpt4 book ai didi

sql - 如何查询给定数字中所有数字的总和?

转载 作者:行者123 更新时间:2023-12-04 18:01:13 26 4
gpt4 key购买 nike

我可以查询给定数值中所有数字的总和吗?

输入值示例:

  EMPNO 
-----
7369

我想得到这个结果:
 7+3+6+9 = 25

我想过这个解决方案,但我认为它效率不高:
SELECT SUBSTR('12345',1,1) + SUBSTR('12345',2,1)
FROM DUAL;

最佳答案

这是解决方案:

1. 简单查询

SELECT id,sum(SUBSTR(empno, LEVEL, 1 )) sums
FROM (select 1 as id, 7369 as empno from DUAL)
CONNECT BY LEVEL <= LENGTH(empno)
group by id

2. 使用交叉连接
SELECT sum(column_value)
FROM (
SELECT 7369 val,
ROWNUM AS id
FROM dual
) t
CROSS JOIN
TABLE(
CAST(
MULTISET(
SELECT SUBSTR( t.val, LEVEL, 1 )
FROM DUAL
CONNECT BY LEVEL <= LENGTH( t.val )
)
AS SYS.ODCIVARCHAR2LIST
)
) c

输出:
SUM(COLUMN_VALUE)
25

关于sql - 如何查询给定数字中所有数字的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50287814/

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