首页 > 代码库 > Sql获取周、月、年的首尾时间。

Sql获取周、月、年的首尾时间。

SELECT DATEADD(ww,DATEDIFF(ww,0,getdate()),0) -- 本周周一SELECT DATEADD(dd,-1,DATEADD(ww,DATEDIFF(ww,0,getdate())+1,0)) -- 本周周末SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0) -- 本月月初SELECT DATEADD(dd,-1,DATEADD(mm,DATEDIFF(mm,0,getdate())+1,0)) -- 本月月末SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()) - 1,0) -- 上月月初SELECT DATEADD(dd,-1,DATEADD(mm,DATEDIFF(mm,0,getdate()),0)) -- 上月月末SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0) -- 本年年初SELECT DATEADD(dd,-1,DATEADD(yy,DATEDIFF(yy,0,getdate()) + 1,0)) -- 本年年末SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()) - 1,0) -- 去年年初SELECT DATEADD(dd,-1,DATEADD(yy,DATEDIFF(yy,0,getdate()),0)) -- 去年年末

思路是利用datediff函数获取指定日期与1900-01-01 00:00:00的相应差值来计算得到目标日期。

Sql获取周、月、年的首尾时间。