如何在SQL Server中选择somefunction('1 * 2/2 + 3')= 4

时间:2018-12-24 06:43:21

标签: sql-server

我可以使用以下代码在C#中获取int结果

new DataTable().Compute("1 * 2 / 2 + 3", string.Empty);//result:4

如何在SQL Server中做到这一点?我希望有convert and operation string to int
我的解决方案是CLR,但是没有任何原始解决方案?

谢谢。

2 个答案:

答案 0 :(得分:2)

您需要做几件事。

  1. 使用已有的CLR逻辑创建程序集。
  2. 在SQL Server端,创建一个调用程序集的用户定义函数。

这是documentation中UDF的示例:

CREATE ASSEMBLY FirstUdf FROM 'FirstUdf.dll';  
GO  

CREATE FUNCTION CountSalesOrderHeader() RETURNS INT   
AS EXTERNAL NAME FirstUdf.T.ReturnOrderCount;   
GO  

SELECT dbo.CountSalesOrderHeader();  
GO  

答案 1 :(得分:0)

就这样写

select 1 * 2 / 2 + 3

enter image description here