【发布时间】:2019-02-14 00:45:38
【问题描述】:
我有一个 Excel 报告,我正在尝试使用存储过程将其转换为 SSRS 报告。在现有的excel(不是我写的)中有一个公式如下
=IF( [Date TCY Vacated]="",0,IF([Date TCY Tenanted]="",Summary!$B$3 - ( [Date TCY Vacated]+1), IF( ( [Date TCY Tenanted] -1)- ( [Date TCY Vacated] +1) <0,0, ( [Date TCY Tenanted] -1)- ( [Date TCY Vacated] +1) ) ))
我正在尝试将其转换为 sql case 语句。
我希望这是一个 INT,因此我可以对列进行汇总以获得该物业的总空置天数
Case When [Date TCY Vacated] Is Null Then '0'
else case when [Date TCY Tenanted] = '' then @End - ([Date TCY Vacated]+1)
else case when ([Date TCY Tenanted] - 1) - ([Date TCY Vacated] +1) < 0 then 0
else Convert(Varchar(30),[Date TCY Tenanted],120) - Convert(Varchar(30),[Date TCY Vacated],120) end end end as 'Void Days'
尝试过但不起作用,我正在尝试添加示例数据但不确定如何。所有字段均为日期字段,预期结果为 2018-02-14 - 2018-02-12 = 2(天)。
【问题讨论】:
-
样本数据和所需结果的帮助远不止 Excel 公式。数据是什么样的?
-
你的case表达式是什么样的?因为这看起来很简单......例如
case when [Date TCY Vacated]='' then 0 when [Date TCY Tenanted]='' then...等 -
嗨戈登,我在发布问题时很垃圾..不确定如何提供示例数据,基本上这些列都是日期字段,无效开始日期可让日期提供日期接受日期让日期无效开始日期计算 无效 结束日期 计算日期 TCY 空出日期 TCY 租户 13/12/2017 27/12/2017 NULL NULL 13/12/2017 14/12/2017 13/12/2017 13/12/2017 NULL 20/03/ 2018 年 3 月 4 日 2018 NULL NULL 20/03/2018 21/03/2018 19/03/2018 NULL NULL
-
ZLK 用当前不工作的代码更新了问题
标签: sql sql-server excel sql-server-2008 excel-formula