2017-08-10 14 views
-2

月の日数を返すクエリを書く必要があります。 DATEを使用することはできません.DATEのクエリは機能しません。合計月の日数

int値をとるパラメータを作成しました。 1月は1であるように、2月には、2値1または2等から

、私は31でなければなりません1の日数のように日数を取得したいと2があるべきである28または29

私はMs sql-server-2008を使用しています。

ヘルプが必要です。

よろしくお願いいたします。

+0

このリンクをチェックしてください:https://stackoverflow.com/questions/691022/how-to-determine-the-number-of-days-in-a-month-in-sql-server –

+2

可能な[ SQL Serverで1か月の日数を確認する方法?](https://stackoverflow.com/questions/691022/how-to-determine-the-number-of-days-in-a-month-in- sql-server) – deblocker

+0

同じものが見つかったようですね! –

答えて

1

このように、日付部分を使用していつでも日付を作成できます。入力を検証し、このロジックをニーズに合わせて変換することができます。

DECLARE @year SMALLINT = 2017; 
DECLARE @month TINYINT = 2; 

DECLARE @dateFrom DATE = CONVERT(DATE, 
     CONVERT(CHAR(4), @year) + '-' 
    + RIGHT('00' + CONVERT(VARCHAR(2), @month), 2) 
    + '-01' 
); 

DECLARE @dateTo DATE = DATEADD(MONTH, 1, @dateFrom); 

SELECT DATEDIFF(DAY, @dateFrom, @dateTo); 

- OR - あなたは、任意の計算、単にクエリを使用して、テーブルにこれらの値を格納し、入力値を使用して、そのテーブルを照会しないように本当に熱心である場合

+0

ありがとうalot Pred。そのサーバーの目的。あなたは多くの時間を節約しています。 – JamshaidRiaz

関連する問題