gpt4 book ai didi

mysql - 在mysql中对数字的数字求和

转载 作者:行者123 更新时间:2023-11-29 04:05:43 24 4
gpt4 key购买 nike

我有一个查询,它从数学计算中返回一个整数。我需要将该整数中的所有数字相加。

像这样:

select sumdigits(number) from dual
-- if number =123, output: 1+2+3 = 6
-- if number =100, output: 1+0+0 = 1

最佳答案

我想使用 Fiddle 或 Rextester 对此进行测试,但现在都不起作用。因此,您的赞成票/反对票将作为测试:

SELECT CAST(SUBSTRING(number, 1, 1) AS UNSIGNED) +              -- first digit
CAST(SUBSTRING(number, 2, 1) AS UNSIGNED) + -- second digit
CAST(SUBSTRING(number, 3, 1) AS UNSIGNED) AS the_sum -- third digit
FROM yourTable

这假设一个最大宽度为 3 位数字的数字,它也是零填充的(正如您提到的,我们可以假设)。

如果您真的需要在生产中执行此操作,您可能应该创建一个用户定义的函数来处理此类操作、边缘情况等。

更新:

根据@ThorstenKettner 的评论,我们可以通过为每个数字位置添加更多项,将此答案概括为任何 长度的number 字段。例如,如果我们想要涵盖最多四位数字的数字,我们可以只添加这个术语:

+ CAST(SUBSTRING(number, 4, 1) AS UNSIGNED)

如果存在则添加一个数字,如果不存在则添加零。

关于mysql - 在mysql中对数字的数字求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41998950/

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