需要将前一天的日期类型与整数值进行比较

时间:2017-09-05 14:17:52

标签: sql tsql reporting-services

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

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

例如,如果前一个日期部分是= 31,则将-16作为startdate,然后取-15。

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

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

  

[rsCompilerErrorInExpression]报告的Value表达式   参数'startdate'包含错误:[BC30311]类型的值   '日期'无法转换为' Microsoft.VisualBasic.FirstDayOfWeek'。

2 个答案:

答案 0 :(得分:1)

相反怎么样?

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

答案 1 :(得分:1)

这应该有效:

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