1

SQL Server 2000 の使用

表1

id sdate edate
001 05/01/2012 25/02/2012
002 19/02/2012 17/04/2012
.....

sDate、eDate 形式はdd/mm/yyyy

のように table1 から eachmonth の firstdate と lastdate を取得したいのですが01/01/2012 31/01/201201/02/2012 29/02/2012

期待される出力

id sdate edate
001 05/01/2012 31/01/2012
001 01/02/2012 25/02/2012
002 19/02/2012 29/02/2012
002 01/03/2012 31/03/2012
002 01/04/2012 17/04/2012
.....

上記の条件のクエリを作成するにはどうすればよいですか?

クエリのヘルプが必要

4

1 に答える 1

2
SELECT 
DATEADD(mm, DATEDIFF(mm, 0, sdate), 0),
DATEADD(ms, -3, DATEADD(mm, DATEDIFF(m, 0, edate) + 1, 0))
from yourtable;

実際には2つの部分からなるクエリです。

SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0);
SELECT DATEADD(ms, -3, DATEADD(mm, DATEDIFF(m, 0, GETDATE()) + 1, 0));

上記はあなたに今月の開始日と終了日を与えます、

于 2012-05-31T06:37:13.337 に答える