【问题标题】:Splitting the dates in Sqlserver在 Sql Server 中拆分日期
【发布时间】:2017-03-03 10:19:49
【问题描述】:

我有一张像下面这样的表格

ID  No     FromDate        Todate
1   111    2017-03-01      2017-03-15
2   111    2017-03-01      2017-03-08
3   111    2017-03-08      2017-03-15

有几个问题:

  1. 如何识别日期和 Corss Dateband
  2. 将第一个 ID 拆分为两个日期
    喜欢2017-03-01 to 2017-03-082017-03-08 to 2017-03-15

【问题讨论】:

  • 1) 什么是 Corss Dateband ? 2)这两个日期是如何分开的?。
  • 您将不得不更好地解释业务逻辑。也许给出 2 或 3 个示例,以便可以看到一个模式。

标签: sql sql-server


【解决方案1】:

试试 SQL Server 提供的 DATEDIFF(datepart,startdate,enddate) 函数:

SELECT ID, NO, FromDate, FromDate + ROUND( DATEDIFF( DAY, FromDate, Todate) / 2, 0), Todate FROM YOUR_TABLE

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多