【问题标题】:How can I find the maximum value from a multi value parameter?如何从多值参数中找到最大值?
【发布时间】:2011-06-08 17:56:31
【问题描述】:

我有一个列出所有 12 个月的多选参数 (@month)。标签是缩写(Jan, Feb),值是月份的整数(1, 2)。

我有另一个内部参数 (@maxmonth),我想存储选择的最大月份。因此,如果用户选择 1 月和 3 月,@maxmonth 将 = 3。

有什么想法吗?

【问题讨论】:

  • 我不明白这个问题。你能提供一些细节吗?

标签: sql-server reporting-services reporting


【解决方案1】:

在您的存储过程中,您需要将@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 2014-10-23
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多