两行之间的日期差异

时间:2015-05-27 19:26:10

标签: sql-server excel sql-server-2012 date-difference

我还没有做过excel编程。我有一张表如下:

Excel部分

CreatedTime Id 
05/04/2015 1000 
05/10/2015 1000 
05/12/2015 1000
05/01/2015 1001
05/05/2015 1001
05/03/2015 1002
05/13/2015 1002

我想要的是:

CreatedTime Id  Days_Between_Actions
05/04/2015 1000 4
05/10/2015 1000 6
05/12/2015 1000 2
05/01/2015 1001 1
05/05/2015 1001 4
05/03/2015 1002 3
05/13/2015 1002 10

此公式适用于与每个“Id”相对应的条目,但每个“Id”的第一个条目除外。 =IF(A3 = "05/01/2015",1,DAYS(A3,A2))。但对于与每个'Id'对应的第一个条目,公式必须为=IF(A2 = "05/01/2015",1,DAYS(A2,"05/01/2015")+1)

  1. 这是一种更简单的方法吗?
  2. 我目前必须为第一个条目使用一个公式,对于与“Id”对应的其他条目使用另一个公式,这使得很难将它传播到整个表。我可以使用一个公式吗?
  3. SQL部件

    我正在使用像 - >这样的查询select distinct convert (date, CreatedTime) as CreatedTime, Id from database.table where createdtime between '2015-05-01 00:00:00' and '2015-05-15 23:59:59' order by Id, CreatedTime

    1. 那么,是否有更简单的方法可以通过更改查询来获得我想要的内容?

1 个答案:

答案 0 :(得分:2)

excel中的解决方案,只有一个公式适用于所有行:
padZerosToLength(1, 6, 0); ===> 000001 padZerosToLength(1, 6, 1); ===> 111111 padZerosToLength(1, 6, "x"); ===> xxxxx1 padZerosToLength(1, 6, "."); ===> .....1 padZerosToLength(1, 6, " "); ===> 1 padZerosToLength(1, 6, "\u25CF"); ===> ●●●●●1