当前位置: 首页 > 面试题库 >

sql服务器中数字的数字总和,而无需使用while等传统循环

尉迟宣
2023-03-14
问题内容
var1 = 12345
output = 1+2+3+4+5 = 15

我尝试了以下

Declare @var1 int   = 12345,
        @Length int = len(12345)

;with SUMM as 
(
SELECT SUBSTRING(CAST(@var1 AS VARCHAR) ,1,@Length)%10 N
UNION ALL
SELECT SUBSTRING(CAST(@var1 AS VARCHAR) ,1,@Length-1))%10 N
FROM SUMM
WHERE @Length <= len(@var1)
)
SELECT SUM(N) FROM SUMM;

请帮助我用CTE实现它,欢迎使用除传统循环之外的任何其他方法


问题答案:

如果没有意义,这是一个有趣的练习。

DECLARE @var1 int   = 12345;

WITH i AS (
    SELECT @var1 / 10 n, @var1 % 10 d

    UNION ALL

    SELECT n / 10, n % 10
    FROM i
    WHERE n > 0
)
SELECT SUM(d)
FROM i;


 类似资料:
  • 我试图用while循环计算多个数字的和。当输入负数时,应打印数字之和。当我运行代码时,它所做的就是打印最后输入的正数。以下是当前的非工作代码:

  • 问题内容: 我有一个带有表“ Staff”的数据库(SQL),其中有两个记录。我需要使用PHP在网页上显示这些记录的内容。 我将如何正确更改while循环,以便它将在页面上显示两个记录。 谢谢! 问题答案: 仅从数据库中检索一行。您需要在循环中调用它以检索所有行。该增量是不必要在这里,因为返回false时,没有更多行可供选择。

  • 我用java随机生成了3位数字。util。随机()。系统打印的随机3位数字的数量由用户输入控制。以下是代码: 基本上,我希望代码添加从随机数生成器打印的DIGITS。例如,如果ranNum输出是111和111,我希望变量和等于6,而不是222。对于我现在的代码,它只添加每个数字的最后一位,(在这种情况下,1 1=2)。

  • 我正在尝试创建一个游戏,它将要求用户进行一个猜测,如果猜测低于随机生成的整数,那么它将打印(“太低了!再试一次。”),如果猜测高于猜测,那么它将打印(“太高了!再试一次”),如果猜测等于随机整数,那么它将询问用户她是否想再玩一次。这就是我遇到麻烦的地方--如果输入了“y”,我如何让代码循环回它来重新创建随机整数并开始循环呢?

  • 本文向大家介绍使用JavaScript中的while循环查找最长的连续数字子数组,包括了使用JavaScript中的while循环查找最长的连续数字子数组的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个带有while语句的函数,该函数确定正整数数组中最大的连续子数组的长度。 例如- 如果输入数组是- 那么输出应该是- 如果输入数组是- 那么输出应该是- 因此,让我们为该函数编写代码- 示

  • 我是C编程的初学者,我需要一些关于数字猜测游戏中的右位计数器的帮助。在这个游戏中,会生成一个4位的随机秘密数字,用户必须通过输入不同的数字来猜测它。在此代码中,用户输入的每个数字都会被扫描和检查。如果在输入中找到秘密数字的数字,计数器k会添加1,因此它应该给出猜测的数字数。顺序并不重要(在这个阶段)。问题:游戏给出的猜测数字较少。 } 输出示例: 输入数字:2015猜测数字为2个秘密数字=4901