【问题标题】:Need to compare previous day date type to integer value需要将前一天的日期类型与整数值进行比较
【发布时间】:2017-09-05 14:17:51
【问题描述】:

我有一个要求,我需要每月生成两次报告。

我想出了下面的逻辑......具有挑战性的部分是根据前一天将默认开始日期设置为 -16 或 -15。

例如,如果前一个日期的日期部分 = 31,则取 -16 作为开始日期,否则取 -15。

=IIF((datepart("dd",-1,today()))=31,dateserial(year(now()),month(now()),"1").adddays(-16), dateserial(year(now()),month(now()),"1").adddays(-15) )

我一直在尝试上面的表达式并得到错误。

[rsCompilerErrorInExpression] 报告的值表达式 参数‘startdate’包含错误:[BC30311] Value of type “日期”无法转换为“Microsoft.VisualBasic.FirstDayOfWeek”。

【问题讨论】:

    标签: sql tsql reporting-services


    【解决方案1】:

    这个怎么样?

    =DateAdd("d",IIF(Day(Dateadd("d",-1,Today()))=31,-16,-15),Today())
    

    【讨论】:

    • 非常感谢 Jerry Ritcey,效果很好。
    【解决方案2】:

    这应该可行:

    =IIF(Day(DateAdd("d",-1,Today()))=31,dateserial(year(now()),month(now()),"1").adddays(-16), dateserial(year(now()),month(now()),"1").adddays(-15) )
    

    【讨论】:

    • 非常感谢 Kashif Qureshi 的帮助,它现在运行良好。你的 sn-ps 和 Jerry Ritcey 先生的 sn-p 都符合这个要求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    相关资源
    最近更新 更多