【问题标题】:Convert a date to integer within parameter将日期转换为参数内的整数
【发布时间】:2014-02-14 14:38:45
【问题描述】:

现在我有一个存储过程,它将日期作为 integer (140213) 但在 SSRS 内,我需要将在 date parameter 中选择的日期转换为前面提到的 integer

现在我正在尝试通过使用 2 个参数(日期和转换)来实现这一点,一个允许您选择日期,第二个尝试将日期转换为 int。在默认值的第二个参数中我有:

=FormatNumber(Format(Parameters!date.Value, "yyMMdd"),0)

第二个参数设置为内部,数据类型设置为整数。

当我尝试运行此报告时出现错误

The property 'DefaultValue' of report paramater 'convert' doesn't have the expected type.

知道如何实现这一点吗?

【问题讨论】:

    标签: sql-server stored-procedures reporting-services ssrs-2008


    【解决方案1】:

    最佳解决方案是修改存储过程以接受日期/日期时间参数。 这可以防止不必要的转换和将单个数字年份的日期表示为整数类型(例如 2009-01-01 -> 90101

    假设您无法控制存储过程定义,您仍然可以使用以下步骤实现您想要的。这些假设存在两个参数:

    • 日期(来自 SSRS 日期控件的用户输入)
    • ConvertedDate(整数表示转换后的日期值)

    步骤

    1. ConvertedDate 数据类型设置为整数参数可见性设置为内部

    2. 使用表达式将ConvertedDate 默认值设置为指定值

      =CInt(Format(Parameters!Date.Value, "yyMMdd"))

    3. ConvertedDate 参数值现在可以传递给存储过程。带有Date 选择和ConvertedDate 值的示例报告输出:

    【讨论】:

      猜你喜欢
      • 2021-08-17
      • 2018-10-16
      • 2022-07-07
      • 1970-01-01
      • 2014-08-14
      • 2011-05-05
      • 2011-05-28
      相关资源
      最近更新 更多