我需要对 SQL 表中保存的值进行算术运算,例如,我在下一列中的值为 5*10 我想要 15
EQUATION VALUE
2+5 7
6+8 14
根据方程式我需要计算该值。
正如您现在所知,SQL Server 没有 EVAL() 函数。然而,通过一点动态 SQL,就有可能,但真的不推荐.
Example
Declare @YourTable Table (id int,[EQUATION] varchar(150))
Insert Into @YourTable Values
(1,'2+5')
,(2,'6+8')
,(3,'datediff(DAY,''2018-01-01'',getdate())') -- Added Just for Fun
Declare @SQL varchar(max) = Stuff((Select ',' + concat('(',ID,',',[EQUATION],')')
From @YourTable A
For XML Path (''))
,1,1,'')
Exec('Select * from (values ' + @SQL + ')A([ID],[Value])')
Returns
ID Value
1 7
2 14
3 189
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)