2016-05-16 4 views
-3

Sql Serverで2つの日付の間の開始日と終了日を取得できませんか?例:sql begin end of week

begin  end 
    2016-04-25 2016-05-01 
    2016-05-02 2016-05-08 
    2016-05-09 2016-05-15 
    2016-05-16 2016-05-22 
    2016-05-23 2016-05-29 
    2016-05-30 2016-06-05 
... 

よろしくお願いします。

+1

どのDBMSを使用していますか。あなたは何も試しませんでした –

+0

SQLサーバー2005 –

答えて

0

SQLには、この目的のためにDATEDIFF(datepart,startdate,enddate)関数があります。

例:

61 

SELECT DATEDIFF(day,'2014-06-05','2014-08-05') AS DiffDate 

結果

は、あなたがする日付のテーブルを必要とするSQL ServerでDATEFIFFhere

+0

thx、私はdatediffを必要としません、私は週の始まりと終わりのための '日付'を取得する必要があります。 –

+0

どういう意味ですか? 「週の始まり」のどちらの日付? @NelsonCalderon –

0

使用DATEDIFF()関数について

0

の詳細をご覧くださいこの

Declare @start_date datetime = '2016-04-25' 
     @end_date datetime = '2016-06-05' 

SELECT Min(dt) AS week_start, 
     Max(dt) AS week_end 
FROM dates_table 
WHERE date_col > @start_date 
     AND date_col < @end_date 
GROUP BY Datepart(week, dt), 
      Year(dt) 
ORDER BY Datepart(week, dt), 
      Year(dt) 

ここでは、日付のテーブルを作成し、日付を移入する日付

  1. How to generate a range of dates in SQL Server

  2. Generate Dates between date ranges

0

の範囲の間の日付を生成についていくつかの質問はこれを試してみてくださいされています。

DECLARE @d1 DATE = '2016-04-20' , @d2 DATE = '2016-06-07' 
, @mon1 DATE 
;WITH 
sunA AS (
    SELECT k=1, dt = @d1, dn = datename(dw,@d1) 
    UNION ALL 
    SELECT k=k+1, dt = DATEADD(d,1,dt), dn = datename(dw,DATEADD(d,1,dt)) 
    FROM sunA 
    WHERE k<7 
) 
    SELECT TOP 1 @mon1 = dt 
    FROM sunA 
    WHERE dn = 'Monday' 
    ORDER BY k 

DECLARE @weeks TABLE(d1 DATE, d2 DATE) 
WHILE @mon1 >= @d1 AND DATEADD(d, 6, @mon1) <= @d2 
BEGIN 
    INSERT INTO @weeks SELECT @mon1, DATEADD(d, 6, @mon1) 
    SET @mon1 = DATEADD(d, 7, @mon1) 
END 

SELECT * FROM @weeks 

-- OUTPUT 
d1   d2 
2016-04-25 2016-05-01 
2016-05-02 2016-05-08 
2016-05-09 2016-05-15 
2016-05-16 2016-05-22 
2016-05-23 2016-05-29 
2016-05-30 2016-06-05 
+0

こんにちは@leoinfoは完璧です、これは私が必要だった機能です、どうもありがとう、うわー!!! –

+0

@NelsonCalderon - 'CTE'は' SQL Server 2005'で動作しないと考えています –

+0

@Prdp - SQL Server 2005でCTEが導入されました – leoinfo

関連する問題