2015-09-07 76 views
1

林寻找一种方式,如果用户选择转发依赖@startdate @结束日期= @ STARTDATE + 1周

@startdate = '12-01-2015' 
then 
@enddate = @startdate + 1 Week 

这是我的参数,但请注意我的报告是一个矩阵,每星期使用对于数据的样本,因此参数需要在('12 -01-2015' ,'19 -01-2015' )

自动选择 其从所有startdates结束日期选择

startdates

然后endate在('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 
+0

'DATEADD(周,1,@开始日期)' –

回答

0

使用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 
+0

我怎样写此作为选择我的参数 的开始日期不会被预定义,因此用户选择的开始日期 即你可以给我写一个select语句,它将在传入{@startdate} – Cladback

+0

@Cladback的任何日期后添加7天@Cladback查看我更新的答案 – lad2025

+0

干杯bro appriciate你的时间 – Cladback

相关问题