0

私は複製しようとしている古いExcelテンプレートがありますが、設定方法は理想的ではありませんが、私はそれらを運動として使用しています。 Excelの表で過去の日付の検索と連結

次のようになります列があります:私は上記を再作成しようとしたが、私はいくつかの問題に実行している以下のコードで

|--Week and dates--| 
|------------------| 
|Week 291214_040115| 
|Week 050115_110115| 
|Week 120115_180115| 
|...etc............| 
|...etc............| 
|...etc............| 
|...etc............| 
|Week 030717_090717| 
|Week 100717_160717| 

が。これは生産

Declare @sDate date, 
     @eDate date; 

Select @sDate = '2015-01-01', 
     @eDate = '2017-07-31'; 

;with cte as 
(
select @sDate StartDate, 
DATEADD(wk, DATEDIFF(wk, 0, @sDate), 6) EndDate 

union all 

select dateadd(ww, 1, StartDate), 
dateadd(ww, 1, EndDate) 

from cte 
where dateadd(ww, 1, StartDate)<= @eDate 
) 

select concat(StartDate,'_',EndDate) as date 

from cte 
OPTION (MAXRECURSION 0) 

出力は次のようになります。

|------------Dates-------------| 
|2015-01-01_Jan 4 2015 12:00AM| 
|2015-01-08_Jan 11 2015 12:00AM| 
|2015-01-15_Jan 18 2015 12:00AM| 
|2015-01-22_Jan 25 2015 12:00AM| 
|2015-01-29_Feb 1 2015 12:00AM| 
|2015-02-05_Feb 8 2015 12:00AM| 

が、私はまだスクリプトに「週」の文字列を連結していないが、基本的に私が取得する方法スクリプトは、よりExcelテンプレートのように見えるように私の自身のバージョンのように少なくなります。

答えて

0

あなたは変更することができ、あなたの選択以下のように:

select concat('Week ',Format(StartDate, 'ddMMyy'),'_',Format(dateadd(day,6,StartDate),'ddMMyy')) as date 
    from cte 
関連する問題