我有一个包含以下列的表:
协议参考:唯一参考,可以有多个属性协议
属性参考:所有协议都与属性对齐
开始日期:帐户的开始日期(协议参考)
结束日期:帐户的结束日期(协议参考)。
切换日期:与财产相关的静态日期(始终相同)
对于每个协议ref,我想计算之前在该属性中的协议的开始日期和结束日期之间的天数。如果在协议之前没有人在房产中,那么应该使用移交日期而不是上一个结束日期。
请帮忙
由于
的Si
答案 0 :(得分:0)
将此添加到您的select语句中:
CASE WHEN [End Date] IS NOT NULL THEN DATEDIFF(day, [Start Date], [End Date] ELSE DATEDIFF (Day, [Start Date], [Handover Date]) END AS [New Column Name]
有关DATEDIFF()函数的更多信息:click here
答案 1 :(得分:0)
在黑暗中刺伤。您想知道+ s代表的天数。
-- Prev Agreement Agreement
-- |Start----------End|+++++++|Start-----------End|
select
datediff(
dd,
coalesce(
(
select max([End Date]) from T as t2
where t2.[Property Ref] = t1.[Property Ref]
and t2.[End Date] < t1.[Start Date]
),
t1.[Handover Date]
),
t1.[Start Date]
)
from T as t1