如何计算月份的月末日期 - SQL

时间:2012-08-14 14:07:52

标签: sql sql-server-2008 tsql

我有一个列可以返回几个月的整数,即7月的7。我想做的是拿这个7并返回月末,即2012年7月31日,是否有一个允许我在SQL中执行此操作的函数?

由于

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

看看这个;

http://blog.sqlauthority.com/2007/08/18/sql-server-find-last-day-of-any-month-current-previous-next/

这是你感兴趣的一点;

SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))