gpt4 book ai didi

sql - 根据Column中的公式计算

转载 作者:行者123 更新时间:2023-12-01 12:40:12 33 4
gpt4 key购买 nike

我的表包含数据

pk |  formula    |    OP_NME
---+-------------+---------
1 | x*10 | A
2 | (X+Y)*10 | B

根据 x 和 y 的公式和输入值,我需要给出输出。

例如:我得到 x=10,Y=20 作为输入,我需要给出 A=100 和 B=300 的输出。

最佳答案

这可能不是一个全面的答案,但可能对你有帮助

Declare @tab table (pk int,formula varchar(100),OP_NME varchar(10),X int)
Insert into @tab values(1,'x*10','A',Null),(2,'(X+Y)*10','B',Null)
Declare @result table (id int identity(1,1),[values] int,pk int)

Declare @s int = 1,
@e int = (Select max(pk) From @tab),
@sql varchar(max) = 'Declare @x int = 10,@y int = 20 ',
@sql2 varchar(max)

While @s <= @e
Begin
Select @sql2 = @sql + 'Select(' + Replace(Replace(formula,'x','@x'),'y','@y') + ')' From @tab Where pk = @s
Insert into @result ([values])
Exec(@sql2)

Update @result
Set pk = @s
Where id = @@identity

Set @s = @s + 1
End

Select T.pk,T.formula,R.[values]
from @result R
join @tab T On R.pk = T.pk

在 Management studio 中运行 SQL 并查看结果:

enter image description here

关于sql - 根据Column中的公式计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25599621/

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