我有一个包含列id (int)、逻辑表达式(varchar) 和结果(bit) 的表。逻辑表达式存储在一个 varchar 中,我需要对其进行评估并将结果放入结果列。例如,该列可能包含:
'1=1'
'2<3 AND 1^1=1'
'3>4 OR 4<2'
结果列应包含
1
0
0
目前我正在使用游标来导航行并使用动态 sql 来评估表达式。
"IF(" + @expression + ") SET @result = 1"
有没有更好、更有效的方法来做到这一点?理想情况下,我想摆脱光标。有任何想法吗?使用程序集会更好地执行此操作吗?