【问题标题】:SSRS Converting parameters to intSSRS 将参数转换为 int
【发布时间】:2013-12-17 19:25:48
【问题描述】:

正如主题所说,SSRS 报告正在将 varchar 参数转换为 int。该参数是文本类型,当我在存储过程的报表设计器中输入 0002 时,报表不起作用,但在查看 sql profiler 时,我们可以看到它已转换为 int。

需要帮助。

【问题讨论】:

  • 您是说希望 SP 将“0002”而不是 2 视为 int 吗?
  • 您为参数选择了什么数据类型?存储过程需要什么数据类型?
  • shellNija 是正确的。我的参数数据类型是文本,存储过程是 varchar(100),但我试过 1000 & 4000

标签: reporting-services ssrs-2008


【解决方案1】:

我不确定我是否理解正确,但如果你想从字符串中删除前导 0,然后将其转换为 int(例如将 '0002' 转换为 2),你可以使用它来传递报告中的参数并执行程序:

 CONVERT(INT,SUBSTRING(@parameter, PATINDEX('%[^0]%', @parameter), LEN(@parameter)))

@parameter 替换为报告中的参数名称。

【讨论】:

    【解决方案2】:

    如果您正在谈论将参数从 RDL 传递给您的存储过程。 转到报表参数属性(打开报表 RDL 时,在 BIDS 中的左侧报表数据盘上) 选择参数并右键单击并转到属性。 选择数据类型为文本。这应该适合你。

    【讨论】:

      【解决方案3】:

      在数据集属性中:

      Dataset Properties Window

      转到参数部分。单击“fx”按钮为参数值创建一个表达式。使用 CInt 函数将参数转换为 int:

      Dataset Properties - Set Parameter Value

      【讨论】:

        猜你喜欢
        • 2019-02-16
        • 2015-06-12
        • 2018-11-25
        • 1970-01-01
        • 2014-09-28
        • 2019-07-28
        • 2015-06-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多