SQL SERVER获取某月、本周和本季度的第一天/最后一天

获取某月的第一天:

select dateadd(month,datediff(month,0,'2009-03-18'),0)

获取本周的第一天:

select dateadd(wk,datediff(wk,0,getdate()),0)

获取本季度的第一天:

select dateadd(qq,datediff(qq,0,getdate()),0)

获取最后一天:

--获取上个月最后一天
select convert(varchar(100),dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate()),0)),111) #先获取当月第一天,再减去3毫秒(SQL中时间是精确到3ms的)

--获取去年的最后一天
select convert(varchar(100),dateadd(ms,-3,dateadd(yy,datediff(yy,0,getdate()),0)),111)

--获取本年的最后一天
select convert(varchar(100),dateadd(ms,-3,dateadd(yy,datediff(yy,0,getdate())+1,0)),111)

猜你喜欢

转载自blog.csdn.net/zjlamp/article/details/82660973