2016-12-07 63 views
0

2週間前の日曜日と前週の土曜日の間の日付を持つ行を取得できるシンプルなSQLスクリプトが必要です。SQL先週(土曜日から土曜日まで)

今週の曜日に関係なく、クエリを実行してクエリを実行する必要があります。

私は今日、クエリを実行しますとしましょう:* 選択:木曜日12 12月2016(2016年12月8日)

私はこの間隔を取得する必要があります:あなたが使用することができます

SELECT * FROM table WHERE date BETWEEN '11-27-2016' AND '12-03-2016' 
+0

何の 'sあなたのデータベース? – Mihai

+0

@Mihai Microsoft SQL Server – TobiasKnudsen

+0

さまざまな方法があります。 (date)としてのstartDate、cast(getdate() - t.num - 1)endDate from(values( 'sunday')、 、 '土曜日'、3)、( '木曜日'、4)、( '金曜日'、5)、( '土曜日'、6 ))t(name、num)where datename(weekday、getdate())= t.name' – ZLK

答えて

-1

をテーブルからどこNEXT_DAY間の日付(日付、 'SUN') - 21 NEXT_DAY(日、 'SAT') - 14

+0

next_day()はMSSQL Serverでは認識されない関数 –

+0

私はあなたがオラクルを考えていると思います。 –

1
DECLARE @StartInterval DATE, 
     @EndInterval DATE, 
     @Today = GETDATE() 

SET @EndInterval = DATEADD(dd,-1,DATEADD(dd,-1*(DATEPART(dw,@Today)-1),@Today)) 
SET @StartInterval = DATEADD(dd,-6,@EndInterval) 

SELECT * 
FROM table 
WHERE date BETWEEN @StartInterval AND @EndInterval 
+0

注:これは一般的には動作しますが、 'datefirst'は7(日曜日、デフォルトですが、必ずしもこの値ではありません)であることが必要です。 – ZLK

関連する問題