我有一個多選參數( @month
),列出了所有12個月。標簽是縮寫(
Jan,Feb
),值是月份的整數( 1,2
)。
我有另一個參數( @maxmonth
),我想要存儲所選的最大月份。所以如果用戶選擇了1月和3月,那麽
@maxmonth
= 3。
有任何想法嗎?
我有一個多選參數( @month
),列出了所有12個月。標簽是縮寫(
Jan,Feb
),值是月份的整數( 1,2
)。
我有另一個參數( @maxmonth
),我想要存儲所選的最大月份。所以如果用戶選擇了1月和3月,那麽
@maxmonth
= 3。
有任何想法嗎?
在存儲過程中,您需要將@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
Now, if the multi-value parameter needs to first be sorted then you'll need to do a bit more work. See the following blog post to see how you can handle this situation: http://weblogs.asp.net/jmoon/archive/2005/04/01/396649.aspx