如何获得第一天和上个月的最后一个使用sql
问题描述:
我想获得像01/01/2013上个月的第一天,我也想得到像01/31一样的上个月的最后一天/ 2013。如果我们在三月份的话,我希望做同样的事情,像2013年2月1日和2013年2月28日等.... 感谢如何获得第一天和上个月的最后一个使用sql
答
这应做到:
--First day of last month
SELECT DATEADD(m,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()), 0))
--Last day of last month
SELECT DATEADD(d,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
答
这里是我的解决方案
DECLARE @Today DATETIME
SELECT @Today = GETDATE()
update Test.dbo.DateTable
set StartDate = (
SELECT convert (varchar, DATEADD(dd,-(DAY(DATEADD(mm,1,@Today))-1),DATEADD(mm,-1,@Today)),101))
update Test.dbo.DateTable
set EndDate = (
SELECT convert(varchar, DATEADD(dd, -DAY(DATEADD(m,1,@Today)), DATEADD(m,0,@Today)),101))
答
上个月
convert (date,DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0))
的第一天
前一个月的最后一天
convert (date,DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)))
答
下面的查询工作找到了前一个月的在我的旧的MySQL的最后一天:
SELECT DATE_SUB(CURDATE(),INTERVAL Extract(DAY from now()) DAY);
+1
问题标记为“SQL Server” – 2016-04-29 08:15:34
看看这个[SQL第一,一个月的最后一天](http://sqltutorials.blogspot.de/2007/06/sql-first-and-last-day-of-month.html) – Belial09 2013-02-28 20:25:20
也是这样的:http://blog.sqlauthority.com/2007/08/18/sql-server-find-last-of-any-month-current-previous-next/ – 2013-02-28 20:30:32