2017-08-15 8 views
1

たとえば、2つの列、1つは月として数字を表示するデータセット、もう1つは年を示すデータセット(GROUP BYを使用してデータをグループ化した結果)を持つ場合、「Days各月の日数を表示する「月」を入力します。私はこれを行う方法がありますか? SELECT節に追加できる関数はありますか?SQLを使用してその行の特定の日付の月の日数を取得するにはどうすればよいですか?

これは、各行にその数値を追加する必要があるため、これを実行したいと思います。

+1

実際に表に列を追加しますか?または単にクエリの結果セットに? – Kevin

+0

クエリで結果セットがどういう意味ですか?私は最終的にこの新しい列をデータセットの計算に使用します – Sorath

答えて

5

SQL Serverの2012+では、あなたが使用することができます。

select day(eomonth(datecol)) 

eomonth()は、月の最後の日を取得します。 day()は、今月の日(この場合は月の日数)を返します。古いSQL Serverのバージョンについては

1

、私は次のようにします。

DAY(DATEADD(MONTH, DATEDIFF(MONTH, -1, date_column)- 1, -1)) 
はるかに少ないエレガント前の回答より

が、機能。

関連する問題