-1

これは過去30日間に数回回答されたようです。しかし、どうやら私が必要なものではないようです。

たとえば、今日が2012年7月10日の場合、6月のすべてのデータを取得することを検討しています。毎月の開始から数日後にこのクエリを実行する必要があります

4

3 に答える 3

3

これを行うためのより良い方法は確かにありますが、1つの方法は次のとおりです。

DECLARE @Date DATETIME
SET @Date = '20120710'

SELECT *
FROM YourTable
WHERE YourDateColumn >= CONVERT(VARCHAR(6),DATEADD(MONTH,-1,@Date),112)+'01' 
AND YourDateColumn < CONVERT(VARCHAR(6),@Date,112)+'01')
于 2012-07-03T20:42:35.190 に答える
0

-- 前月の初日

select DateAdd(Month, DateDiff(Month, 0, GetDate())-1,0)

-- 前月の最終日

Select DateAdd(day,-1,DateAdd(Month,1,DateAdd(Month, 
                                            DateDiff(Month, 0,GETDATE())-1,0)))

GETDATE() を日付列に置き換えてください

于 2012-07-09T07:05:12.720 に答える
-1

ああ、その場合、次のようなものが必要です。

SELECT *
FROM
  reporting_table_name_goes_here
WHERE
  DATEPART(month, YourDateColumn) = DATEPART(month, DATEADD(month, -1, getdate()))
AND DATEPART(year, YourDateColumn) = DATEPART(year, DATEADD(month, -1, getdate()))

詳細については、 MSDNを参照してください。

于 2012-07-03T20:41:46.693 に答える