我有一個關於字符串表達式評估的問題。目前,我正在處理需要從存儲在數據庫中的字符串中計算數學表達式的項目,我想讓C#方法評估此字符串,並且此函數將從存儲過程或添加到數據庫的函數運行。所以問題是我想在我的C#函數中使用已經創建的解決方案,如NCalc或Jace.Net,但是如果我想從db運行它,我需要將dll(例如NCalc.dll或Jace.dll)添加到db部件。並且添加這些解決方案是相當有問題的,NCalc使用不安全的代碼,並且Sql服務器不能從該dll運行方法,而Jace需要許多額外的dll,需要將其添加到數據庫中,這是不可接受的解決方案。因此,如果任何人知道可以添加到數據庫並運行的工作表達式評估器? Thx提前尋求幫助。數學表達式評估
我使用Microsoft SQL Server 2012(SP1) - 11.0.3128.0(X64)2)和.NET Framework 4.5
您的計算有多複雜?簡單的+ -/*()可以使用XPathDocument來完成,或者你可以編寫你自己的。這些可以在託管代碼中沒有任何第三方dll的情況下運行。請參閱http://answers.unity3d.com/questions/34349/how-to-evaluate-a-mathematical-expression-in-unity.html – Maarten
類似這樣的: int [] table = {1,2,3, 4,5}; int [] table2 = {1,3,4,5,7,100};公式.Evaluate(「(Avg([x]))/ [y] + Max([z])」,表格,10,table2),10); 這是相當複雜的,在將來我需要能夠使用像FFT或STDEV計算 – blindepl
假設你有clr函數「評估」。你能證明你將如何從T-SQL中調用它嗎?許多事情應該變得清楚。例如你如何將數組傳遞給CLR函數? –