如何在 SQL Server 中计算字符串表达式?

Posted

技术标签:

【中文标题】如何在 SQL Server 中计算字符串表达式?【英文标题】:How do I evaluate a string expression in SQL Server? 【发布时间】:2014-06-20 22:48:51 【问题描述】:

给定一个字符串'100+200',我如何评估它?

我想在输出时得到300

【问题讨论】:

您要评估字符串表达式的结果吗?或者你真的在问如何添加 2 个数字... 不要像这样将它作为字符串传递。制作两个 args,然后执行:SELECT arga + @argb。你试过什么? Converting arithmetic formula in a string into a values的可能重复 欢迎来到 Stack Overflow。虽然展示问题本质的抽象示例很好,但在问题中包含一些您想要实现的内容的上下文也是一个好主意。例如,在这里,问题的措辞使得SELECT 100 +200 甚至SELECT 300 看起来像是答案,但我怀疑这就是你要找的。​​span> 【参考方案1】:
DECLARE @expression VARCHAR(MAX) = '100+200'
EXEC    (N'SELECT ' + @expression)

如果它来自用户,请确保它已经过消毒

【讨论】:

【参考方案2】:

真的吗?这个怎么样:

SELECT 100 + 200;

【讨论】:

以上是关于如何在 SQL Server 中计算字符串表达式?的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2005如何去空格

如何从 SSIS 包中检索 SQL Server 实例名称

SQL Server DATEDIFF() 函数

如何计算访问查询中 SQL Server ntext(即备忘录)字段中的字符数?

数据库开发基础-SQl Server 聚合函数数学函数字符串函数时间日期函数

SQL Server CASE 表达式未按预期计算