如何在sql server中生成列?

时间:2016-03-07 14:57:48

标签: sql sql-server sql-server-2008 sql-server-2012

我在sql server中有以下表。

ID ,EventID ,EventDate ,Title ,Type

现在我想在下面的逻辑中进行查询。 如果用户输入fromdate和todate。这里的活动是每周或每两周一次。 所以,请说从'03 / 01/2016'到'03 / 31/2016,并输入两周一次。意味着列每两周一次。

所以我想生成类似的查询。

2016年3月1日至2016年3月15日2016年3月16日至2016年3月30日 - 这两个双周是专栏

如果我通过,那么请说从'03 / 01/2016'到'03 / 31/2016,并输入每周一次。

然后列应该像每周一样

3/1/2016 to 3/8/2016 | 3/9/2016 to 3/16/2016 |3/17/2016 to 3/24/2016 and so on to till end date(To).

以上输出的行是标题。

如何在sql server中实现这一点?

1 个答案:

答案 0 :(得分:0)

  1. 获取每两周一次的价值。让我们说用户每周选择一次。该值为7.

  2. 使用循环生成列。例如,column1将是StartDate_to_EndDate。 StartDate将是用户输入的值。 EndDate将是StartDate + 7天(上面#1的值)

  3. 循环播放以获取第二列等等(直到用户指定的EndDate)