SELECT DATEDIFF(mm,'2014-10-5',GETDATE()) -- 0 表示当月
SELECT DATEDIFF(mm,'2014-9-5',GETDATE()) -- 1 表示前1个月
SELECT DATEDIFF(mm,'2014-1-5',GETDATE()) -- 9 表示前9个月
SELECT CONVERT(datetime,CONVERT(char(8),GETDATE(),120)+'1') -- 取本月第一天 2014-10-01 00:00:00.000
select dateadd(d,-day(getdate()),dateadd(m,1,getdate())) -- 取本月第后一天 2014-10-31 14:10:34.890
select dateadd(d,-day('2014-03-05 10:12:24'),dateadd(m,1,'2014-03-05 10:12:24')) -- 取这个月第后一天 2014-03-31 10:12:24.000
SELECT CONVERT(datetime,CONVERT(char(8),'2014-03-05 10:12:24',120)+'1') -- 取本月第一天 2014-03-01 00:00:00.000
select YEAR('2008-11-2 00:00:00') --年
select MONTH('2008-11-2 00:00:00') --月
select DAY('2008-11-2 00:00:00') --日
DECLARE @dDate DATETIME
DECLARE @dStartDate DATETIME
DECLARE @dEndDate DATETIME
SET @dDate='2014-03-05 10:12:24'
SELECT @dStartDate=CONVERT(DATETIME,CONVERT(CHAR(8),@dDate,120)+'1') -- 取本月第一天 2014-03-01 00:00:00.000
SELECT @dEndDate=DATEADD(d,-DAY(@dDate),DATEADD(m,1,@dDate)) -- 取这个月第后一天 2014-03-31 10:12:24.000
SELECT CONVERT(VARCHAR,MONTH(@dStartDate)) + '月' + CONVERT(VARCHAR,DAY(@dStartDate)) + '日' + '-' +
CONVERT(VARCHAR,MONTH(@dEndDate)) + '月' + CONVERT(VARCHAR,DAY(@dEndDate)) + '日' -- 3月1日-3月31日
SELECT CONVERT(datetime,CONVERT(char(8),GETDATE(),120)+'1')--这月的第一天
select dateadd(d,-day(getdate()),dateadd(m,1,getdate()))--这月的最后一天
SELECT DATEADD(mm,DATEDIFF(mm,0,dateadd(month,-1,getdate())),0)--上月第一天
select dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))--上月最后一天