2024年4月1日发(作者:)

SQL

--本周第一天

SELECT

DATEADD(Day,1-(DATEPART(Weekday,getdate())+@@DATEFIRST-1)%7,getdate())

--or

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

--本周第一天

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

--上月第一天

SELECT

CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GETDATE())+1,GETDA

TE())),111)

--上月最后一天

SELECT CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,

DATEDIFF(mm,0,getdate()),0)),111)+' 23:59:59'

--本月第一天

select dateadd(dd,-datepart(dd,getdate())+1,getdate())

--本月最后一天

select dateadd(dd,-datepart(dd,getdate()) ,dateadd(mm,1,getdate()))

--本月天数

select datediff(dd,dateadd(dd,-datepart(dd,getdate())+1,getdate()),

dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate())))

--or

select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate()) as

varchar)+'-'+cast(month(getdate()) as varchar)+'-01' as datetime))))

--下月第一天

select dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate()))

--下月最后一天

SELECT

CONVERT(CHAR(10),DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+2,0