gpt4 book ai didi

sql-server - 评估字符串列 SQL 中的逻辑表达式

转载 作者:行者123 更新时间:2023-12-04 01:08:32 25 4
gpt4 key购买 nike

我有一个包含列的表 身份证 (int), 逻辑表达式 (varchar) 和 结果 (少量)。逻辑表达式存储在 varchar 中,我需要对其进行评估并将结果放入 结果 柱子。例如,该列可能包含:

'1=1'
'2<3 AND 1^1=1'
'3>4 OR 4<2'

结果列应该包含
1
0
0

目前我正在使用游标来导航行并使用动态 sql 来评估表达式。
"IF(" + @expression + ") SET @result = 1" 

有没有更好、更有效的方法来做到这一点?理想情况下,我想摆脱光标。有任何想法吗?使用程序集会更好地执行吗?

最佳答案

我会选择 CLR。

我在这里发布了一个非常相似的答案:Convert string with expression to decimal

事实上,上述答案无需修改(和任何其他简单表达式)即可正常工作:

SELECT dbo.eval('1=1' )
SELECT dbo.eval('3>4 OR 4<2' )

但是,对于使用 ^ 的人来说,它会失败。 (插入符号)运算符 - 您需要调整 CLR 以处理按位异或。

关于sql-server - 评估字符串列 SQL 中的逻辑表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10337282/

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