2011-01-31 64 views
1

下面是一個使用SqlUserDefinedAggregate的例子:http://msdn.microsoft.com/en-us/library/91e6taax(v=vs.80).aspxSQL CLR聚合參數

,讓你做的事:

SELECT LastName, COUNT(LastName) AS CountOfLastName, dbo.CountVowels(LastName) AS CountOfVowels 
FROM Person.Contact 
GROUP BY LastName 
ORDER BY LastName 

我怎能將它轉換爲dbo.CountLetters(LastName, 'listOfLetters')?換句話說,如何在聚合值時獲取額外的參數?使用常規的CLR函數很容易,但如何在這裏做到這一點逃避我。謝謝!

+0

當我忘記鏈接到這個例子時,我無法相信我有兩個upvotes。 :) – 2011-01-31 17:18:09

回答

0

取決於您正在運行的版本。對於SQL Server 2005,您不能將輸入限制爲單個參數。例如,2008年,請參閱this article

+0

這就是我正在尋找的;太糟糕了我正在使用版本2005.通過您的鏈接,我找到了一個解決方法這篇文章:http://www.mssqltips.com/tip.asp?tip=2043。這是非常黑客,所以我們會看到我最終做的事情...... – 2011-01-31 19:01:07