如何将案例功能应用于每四年发生一次的闰年到Cognos中的日期公式?

时间:2015-08-13 18:41:16

标签: sql-server cognos cognos-10 cognos-bi

如何将案例功能应用于每四年发生一次的闰年到日期公式?

我有一个名为INSURANCE TERM查询的数据项1,其中包含一个内部公式。

(12 * _days_between([Policy Expiration Date],[Policy Effective Date]))/365 

以下是您希望了解的政策有效期限表达式的属性。 enter image description here

该公式用于计算保险期限。 12个月乘以下面提示中[保单到期日],[保单生效日期]之间的天数。常年分为365天。 enter image description here

如何在常规年和闰年之间合并案例功能? 像这样......

Case when Year([Policy Expiration Date]) in ('2013', '2014', '2015') then DATA ITEM 1 else DATE ITEM 2((12 * _days_between([Policy Expiration Date],[Policy Effective Date]))/366)

但我不能写入(2008-2032闰年),因为它太长了。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

评论时间过长,可能不完整。

不太确定我在这里得到了逻辑。你有两个日期列,一个用于开始,另一个用于结束?

假设您想知道1月1日到3月1日之间的天数差异。你计算这个的方式对于闰年来说是具有挑战性的。但是使用datediff它可以毫不费力地处理它。

declare @StartDate date = '2012-01-01'
    , @EndDate date = '2012-03-01'

select DATEDIFF(day, @StartDate, @EndDate)

select @StartDate = '2015-01-01'
    , @EndDate = '2015-03-01'

select DATEDIFF(day, @StartDate, @EndDate)