根据月份和年份获取日期字段

时间:2017-03-01 19:56:40

标签: sql-server sql-server-2012

我有两个字段,期间和YR,期间代表月份。我希望能够选择这些记录作为日期字段,并假设该日是该月的最后一天。例如:

YR    Period      Date
2017   1          2017-01-31
2017   2          2017-02-28
Etc  

我对如何去做这件事感到茫然。感谢您的任何帮助,您可以提供。

3 个答案:

答案 0 :(得分:5)

SELECT YR, Period, EOMONTH(DATEFROMPARTS(YR, Period, 1)) AS [Date]
FROM <<table>>

答案 1 :(得分:1)

这就是你如何使用&#34; basic&#34;功能:

<iisnode idontexist="12" />

答案 2 :(得分:0)

这是另一个问题:

WITH tb(YR,Period)AS(

    SELECT 2017,1 UNION ALL
    SELECT 2017,2 UNION ALL
    SELECT 2017,3 
)
SELECT DATEADD(DAY,-1,DATEADD(MONTH,tb.Period+1, DATEADD( YEAR, YR-1900,0))) FROM tb

-----------------------
2017-02-28 00:00:00.000
2017-03-31 00:00:00.000
2017-04-30 00:00:00.000