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

标签 sql t-sql reporting-services

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

我想出了下面的逻辑...具有挑战性的部分是根据前一天将默认开始日期设置为 -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] The Value expression for the report parameter ‘startdate’ contains an error: [BC30311] Value of type 'Date' cannot be converted to 'Microsoft.VisualBasic.FirstDayOfWeek'.

最佳答案

这个怎么样?

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

关于sql - 需要将前一天的日期类型与整数值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46057247/

相关文章:

mysql - 如何处理庞大的数据集

c# - ASP.Net SQL 查询输入控件

reporting-services - 如何使SSRS报表透明

mysql - 带有 INNER JOIN SELECT SUM 的 INSERT 语句

mysql - 没有外援的球队如何统计

sql - 从 Liquibase 表中确定 DB 的 "version"

sql - 同一列中最大日期和最小日期之间的值之间的差异?

跨三个表的t-sql外连接

reporting-services - HTML 渲染中的单页显示 : SSRS

reporting-services - 使用 Reporting Services 执行 Web 服务接收大型报告时出错