是否可以评估存储在列中的字符串公式/表达式? (SQL Server 2014)。
示例:
TABLE:
ID | Formula
1 | IIF(2<3,'A','B')
2 | IIF(3<4,'C','D')
3 | IIF(5<1,'E','F')
查询:
SELECT ID, Eval(Formula)
输出:
1 | A
2 | C
3 | F
答案 0 :(得分:0)
使用动态SQL,但真的不推荐。万一你真的不得不......
Declare @YourTable table (ID int,Formula varchar(100))
Insert Into @YourTable values
(1,'IIF(2<3,''A'',''B'')'),
(2,'IIF(3<4,''C'',''D'')'),
(3,'IIF(5<1,''E'',''F'')')
Declare @SQL varchar(max) = '>>>'
Select @SQL = Replace(@SQL + concat(' Union All Select ID=',ID,',Value=',Formula),'>>> Union All','')
From @YourTable
Exec (@SQL)
返回
ID Value
1 A
2 C
3 F