转发依赖 @startdate @enddate=@startdate + 1 周

Forward dependencies @startdate @enddate=@startdate + 1 Week

如果用户 selects

我正在寻找一种方法
@startdate = '12-01-2015'
then
@enddate = @startdate + 1 Week

这是我的参数,但请注意我的报告是一个矩阵,每周使用一个数据样本,因此参数需要自动 select 它的结束日期从所有开始日期 selected

开始日期在 ('12-01-2015', '19-01-2015')

然后结束于 ('18-01-2015', '26-01-2015')

这就是我用于开始日期参数的内容

select distinct
CAST(startdate AS DATE) as Startdate
FROM [Calendar] 
where DatePart(YEAR,startdate)  >= 2014
order by 1 asc

使用DATEADD

@startdate = '12-01-2015'
then
@enddate = DATEADD(wk, 1, @startdate)

或者如果 startdate 变量具有 DATE/DATETIME 类型

@startdate = '12-01-2015'
then
@enddate = @startdate + 7;   -- Implicit cast add 7 days

编辑:

select distinct
    CAST(startdate AS DATE) as Startdate,
    DATEADD(wk, 1, CAST(startdate AS DATE)) as EndDate
FROM [Calendar] 
where DatePart(YEAR,startdate)  >= 2014
order by 1 asc