0
EmployeeID    RecordID         DateRecord
1               1         2/19/2013 12:00:00 AM
1               2         2/21/2013 12:00:00 AM
1               3         2/23/2013 12:00:00 AM
1               4         2/27/2013 12:00:00 AM
1               5         3/3/2013 12:00:00 AM
2               11        3/10/2013 12:00:00 AM
2               12        3/14/2013 12:00:00 AM
1               14        3/16/2013 12:00:00 AM

日数の数え方は?

2013 年 2 月の例で、「19、21、23、27」が「4」日にカウントされるはず.. ??

私はこの方法を見つけました..

SELECT DATEPART(yy, Daterecord),
   DATEPART(mm, Daterecord),
   DATEPART(dd, Daterecord),
   COUNT(*)

FROM Records

GROUP BY DATEPART(yy, Daterecord),
     DATEPART(mm, Daterecord),
     DATEPART(dd, Daterecord)

その結果、..

2013    2   19  1    
2013    2   21  1    
2013    2   23  1    
2013    2   27  1    
2013    3   3   1    
2013    3   10  1    
2013    3   14  1    
2013    3   16  1    

特定の日付を取得するだけですが、各月の合計日数はカウントしません..助けてください..pls

4

6 に答える 6

0

これを試して...

    declare @date2 nvarchar(max)
    set @date2 = (select getdate())
    select DateDiff(Day,@date2,DateAdd(month,1,@date2))
于 2014-01-09T07:29:26.230 に答える
0

これを試してみましょう:-

1: 現在いる月の日数を求める

DECLARE @dt datetime
SET     @dt = getdate()

SELECT @dt AS [DateTime],
   DAY(DATEADD(mm, DATEDIFF(mm, -1, @dt), -1)) AS [Days in Month]Solution 

2: 与えられた月と年の組み合わせの日数を見つける

DECLARE @y int, @m int
SET     @y = 2012
SET     @m = 2

SELECT @y AS [Year],
   @m AS [Month],
   DATEDIFF(DAY,
            DATEADD(DAY, 0, DATEADD(m, ((@y - 1900) * 12) + @m - 1, 0)),
            DATEADD(DAY, 0, DATEADD(m, ((@y - 1900) * 12) + @m, 0))
       ) AS [Days in Month]
于 2013-10-04T12:18:53.017 に答える