【发布时间】:2020-04-27 13:34:24
【问题描述】:
有没有办法在每次调用时通过 12 个数字在变量循环中添加一个变量?我可能只是在 SQL 循环逻辑方面营养不良。这是我拥有的变量,目前我只能让它保存一个静态数字。
SET @startEnr = (SELECT COUNT(*)
FROM Enrollment
WHERE MONTH(startDate) = 09
AND active = 1
AND endYear = 2020
值 09 需要保存 12 个值,就像 @x = 1...12。我尝试循环这个,但是返回一个错误,指出该变量不能包含多个值。我需要一个函数吗?
【问题讨论】:
-
完全不清楚你要做什么。
-
您不会调用变量,而是为其分配一个值或读取该值。请解释为什么您需要您所描述的内容。
-
应不惜一切代价避免循环。你肯定不想要一个循环。但是由于您正在尝试评估 12 个月份的值,所以我必须首先询问检查月份的意义。正好有 0 个月不在 1 到 12 之间。您需要在此处说明您真正想要完成的工作,以便其他人了解如何帮助您。
-
我正在尝试统计每个月的总注册数据。我想将所有这些总数保存在一个变量中,就好像它是一个数组一样。也许我错过了一些东西,但我所知道的是,唯一可以远程执行此操作的是临时表本身。顺便说一句,感谢您的关注。
-
@JaySway tsql 中唯一真正的“数组”是一个表。这听起来像XY problem,所以最好从你的目标而不是这个特定的实现路径(现在可能会起作用)的角度来处理这个问题。那么 - 您打算如何处理要计算的许多每月总注册值?
标签: sql-server variables dynamic