我有一个应用程序,允许在将输入数据写入表之前对输入数据进行计算。
无法在C#中完成所有计算,所有计算都必须在T-SQL中完成。
应用程序根据用户输入构建一个带有可能嵌套计算的insert语句。
一个样本是一个除以10的整数,然后转换为varchar
。
CAST(( ' ( CAST( 6828 AS BIGINT)) /10' ) AS NVARCHAR(MAX)) ,
这是基于用户界面输入构建的更大INSERT语句的一部分。
我如何首先执行内部( CAST( 6828 AS BIGINT)) /10
?
答案 0 :(得分:1)
您可以使用sp_executesql
执行整个字符串。例如:
EXEC sp_executesql N'SELECT CAST( CAST( 6828 AS BIGINT)) /10 AS NVARCHAR(MAX))';