2011-06-08 83 views
1

我有一個多選參數(@month),列出所有12個月。標籤是縮寫(Jan, Feb),該值是該月的整數(1, 2)。如何從多值參數中找到最大值?

我還有一個參數(@maxmonth)即內部,我要存儲在選擇的最大的月份。因此,如果用戶選擇一月至三月,@maxmonth會= 3

任何想法?

+0

我不明白這個問題。你能提供一些細節嗎? – ibram 2011-06-08 18:09:45

回答

2

在您的存儲過程中,您需要將@maxmonth設置爲@month的最後一個值。由於SQL Server將多值參數視爲以逗號分隔的字符串,因此以下內容將幫助您獲取最後一個值。

-- Check to see if only one value was selected 
IF CHARINDEX(',', @month) = 0 
    BEGIN 
     SET @maxmonth = @month 
    END 
ELSE 
    BEGIN 
     SET @maxmonth = RIGHT(@month, CHARINDEX(',', REVERSE(@month)) - 1) 
    END 
PRINT @maxmonth 

現在,如果多值參數需要先排序,那麼您需要做更多的工作。看到下面的博客文章,看看你可以如何處理這種情況:http://weblogs.asp.net/jmoon/archive/2005/04/01/396649.aspx