我有一个列可以返回几个月的整数,即7月的7。我想做的是拿这个7并返回月末,即2012年7月31日,是否有一个允许我在SQL中执行此操作的函数?
由于
答案 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))