2012-08-14 61 views
0

我有一個返回整數的列,即7月的7個月。我想要做的是採取這7並返回月末,即2012年7月31日,是否有一個函數,讓我在SQL中做到這一點?如何計算月份的月結束日期 - SQL

謝謝

+0

你問谷歌? [MSDN](http://msdn.microsoft.com/en-us/library/ms186724.aspx)有一個日期和時間函數頁面。似乎沒有內置的「月份的最後一天」功能。但是計算是在下個月的第一天前一天。 – 2012-08-14 14:16:46

+0

你有沒有考慮過只是添加另一個表作爲查找?由於已知月數很少,所以這很容易做... – sybkar 2012-08-14 14:19:37

+0

是的,我通過谷歌看了一下,但是從月份的數字來看,本月末還沒有找到我的頭像 – DtotheG 2012-08-14 14:30:41

回答

3

怎麼是這樣的:

DECLARE @Month int 
DECLARE @Year int 

set @Month = 7 
set @Year = datepart(year,getdate()) 

select DATEADD(day,-1,DATEADD(month,@Month,DATEADD(year,@Year-1900,0))) 

結果:

2012-07-31 00:00:00.000