sql日期

--本周的第一天  
SELECT DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 0)  


--本月的第一天  
SELECT DATEADD(mm, DATEDIFF(mm,0,GETDATE()), 0)    
  
--本年的第一天  
SELECT DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0)   


--本月的最后一天  
SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1, 0))  
  
--本年的最后一天  
SELECT DATEADD(ms,-3,DATEADD(yy, DATEDIFF(yy,0,GETDATE())+1, 0))    
  
--上个月的最后一天  
SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,GETDATE()), 0))   
  
--上一年的最后一天  
SELECT DATEADD(ms,-3,DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0))   

  

--DATEDIFF 返回两个指定日期的时间间隔
select DATEDIFF(day,'2017-11-12','2017-11-13')   --返回:1


--DATEPART 返回指定日期的月份(day:天;year:年)
SELECT DATEPART(month, '2017-11-13')  --返回:11


--DATENAME 返回指定日期是星期几
SELECT DATENAME(weekday, '2017-11-13')  --返回:星期一

原文地址:https://www.cnblogs.com/jincieryi/p/9630060.html