1
使用SQL服务器,编写一个while循环来计算和打印所有奇数非负整数的f(x)= 3x的函数值< = 25 (1,3,5,... 23,25)。SQL用while循环解决函数
这是我写了到目前为止
这是结果我得到
所以理论上我应该得到45640时@x = 25
我在这里错了什么?
使用SQL服务器,编写一个while循环来计算和打印所有奇数非负整数的f(x)= 3x的函数值< = 25 (1,3,5,... 23,25)。SQL用while循环解决函数
这是我写了到目前为止
这是结果我得到
所以理论上我应该得到45640时@x = 25
我在这里错了什么?
你必须使用power
功能类似下面的
Declare @SUMSQUARE Integer, @x Integer
SET @X = 1
WHILE (@X <= 25)
BEGIN
SELECT @SUMSQUARE = (3*power(@X,3))-(2*power(@X,2))+15
PRINT @SUMSQUARE
SET @X = @X + 2
END
您可以使用递归cte(而不是使用while
循环)来生成所有奇数< = 25,然后将这些函数应用于这些数字。
with oddnums_cte as (select 1 num
union all
select num+2 from oddnums_cte where num < 25)
select num, (3*power(num,3))-(2*power(num,2))+15 as function_value
from oddnums_cte