【问题标题】:Difference between days between first and last record in table by ref参考表中第一条记录和最后一条记录之间的天数差异
【发布时间】:2015-02-25 17:38:35
【问题描述】:

我有一个包含以下列的表格:

协议引用:唯一的引用,一个属性可以有多个协议

属性参考:所有协议都与属性对齐

开始日期:帐户的开始日期(协议参考)

结束日期:帐户的结束日期(协议参考)。

移交日期:与财产相关的静态日期(始终相同)

对于每个协议参考,我想计算属性中之前协议的开始日期和结束日期之间的天数。如果在协议之前财产中没有人,则应使用移交日期而不是之前的结束日期。

请帮忙

谢谢

【问题讨论】:

  • 使用 MS SQL 数据库
  • 到目前为止你尝试了什么?

标签: sql sql-server date


【解决方案1】:

将此添加到您的选择语句中:

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

【讨论】:

    【解决方案2】:

    在黑暗中刺伤。你想知道+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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多