2013-03-07 92 views
0

有沒有辦法根據用戶生成一個日期月和年, 我需要一個結果表有2個列startdate和enddate應該從月,tomonth和一年。 請參閱示例中顯示的表結構和生成的表格格式。生成日期基於月和年列

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 

回答

0

我想你可以使用DATEFROMPARTS並通過一個月&年列

+0

感謝您的回覆,我想知道如何將數據從一個表格複製到另一個表格 – gaganHR 2013-03-07 07:34:44

0

這裏是做這件事的一種方法:

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 
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) 

我希望這可以幫助你。

相關問題