【问题标题】:Forward dependencies @startdate @enddate=@startdate + 1 Week转发依赖 @startdate @enddate=@startdate + 1 周
【发布时间】:2015-09-07 15:28:56
【问题描述】:

如果用户选择,我正在寻找一种方式

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

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

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

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

这就是我的 startdate 参数使用的内容

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

【问题讨论】:

  • Dateadd(Week,1,@startdate )

标签: sql tsql visual-studio-2012 parameters


【解决方案1】:

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

【讨论】:

  • 我如何将其写为我的参数的选择,因为开始日期不会被预先定义,因此用户将选择开始日期,即你可以给我写一个选择语句,它将增加 7 天传入 {@startdate} 的任何日期
  • 干杯兄弟珍惜你的时间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多