SQL时间段查询

--  后一天
select   DATEADD ( day 1 getdate ())

-- 前一天
select   DATEADD ( day - 1 getdate ())

-- 本周星期一
SELECT   DATEADD (dd,( case   @@datefirst   when   7   then   2   else   2 - @@datefirst   end ) - datepart (dw, getdate ()), getdate ())

-- 本周星期日
SELECT   DATEADD (dd, 6 + ( case   @@datefirst   when   7   then   2   else   2 - @@datefirst   end ) - datepart (dw, getdate ()), getdate ())

-- 上周星期日
SELECT   DATEADD ( day , - ( @@datefirst + datepart (weekday, getdate ()) - 1 ) % 7 , getdate ())

-- 格式化后的下周第一天
SELECT   convert ( char ( 10 ),( dateadd (dd, 6 + ( case   @@datefirst   when   7   then   2   else   2 - @@datefirst   end ) - datepart (dw, getdate () - 1 ), getdate ())), 120 )


-- 本月第一天
SELECT   DATEADD (mm,  DATEDIFF (mm, 0 , getdate ()),   0 )

-- 下月第一天
SELECT   DATEADD (mm,  DATEDIFF (mm, 0 , getdate ()) + 1 ,   0 )

-- 本月最后一天
SELECT   DATEADD (dd,  - 1 DATEADD (mm,  1 +   DATEDIFF (mm,  0 ,   getdate ()),  0 )) 

--  本季度第一天
SELECT    DATEADD (qq,  DATEDIFF (qq, 0 , getdate ()),  0

-- 本年第一天
SELECT   DATEADD (yy, DATEDIFF (yy, 0 , getdate ()), 0 )  
    
-- 下一年第一天
SELECT   DATEADD (yy, DATEDIFF (yy, 0 , getdate () + 366 ), 0

-- 格式化时间
SELECT   CONVERT ( CHAR ( 10 ), getdate (), 120 )

 

你可能感兴趣的:(sql,qq)