0

ユーザーの月と年に基づいて日付を生成する方法はありますか? 結果のテーブルには、月、月、年からの開始日と終了日の 2 つの列が必要です。例に示されているテーブル構造と結果のテーブル フォーマットを参照してください。

example:
co1         col2        col3
fromMonth   toMonth     year
5           12          2012
1           4           2013


result:
co1         col2    
StartDate   EndDate 
01/05/2012  31/12/2012  
01/01/2013  30/04/2013  
4

3 に答える 3

0

これを行う1つの方法は次のとおりです。

DECLARE @tbl TABLE (fromMonth  INT, toMonth   INT,  year INT)
INSERT @tbl VALUES
(5           ,12          ,2012),
(1           ,4          ,2013)

SELECT  DATEADD(MONTH, (YEAR - 1900) * 12 + fromMonth - 1, '1900-01-01') StartDate
        , DATEADD(DAY, -1, DATEADD(MONTH, (YEAR - 1900) * 12 + toMonth, '1900-01-01')) EndDate
FROM    @tbl
于 2013-03-07T07:32:32.937 に答える
0

開始日:

CAST(CAST(1 AS varchar) + '/' + CAST(col1 AS varchar) + '/' + CAST(col3 AS varchar) AS DATETIME)

終了日:

CAST(CAST(31 AS varchar) + '/' + CAST(col2 AS varchar) + '/' + CAST(col3 AS varchar) AS DATETIME)

これがお役に立てば幸いです。

于 2013-09-12T08:50:38.793 に答える
0

DATEFROMPARTS を使用して月と年の列を渡すことができると思います

于 2013-03-07T07:18:06.430 に答える