SQL日期操作

View Code
--所在月的第一天(不含时间)
SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0)
--所在月的第一天(含时间)
SELECT DATEADD(DAY,1-DATEPART(DAY,GETDATE()),GETDATE())
--上月最后一天
SELECT DATEADD(DAY,0-DATEPART(DAY,GETDATE()),GETDATE())
--所在星期的第一天(星期日)
SELECT DATEADD(WEEKDAY,1-DATEPART(WEEKDAY,GETDATE()),GETDATE())
--所在月的天数 (给定月最后一天的日期,记为本月天数)
SELECT DAY(DATEADD(MONTH,DATEDIFF(MONTH,-1,GETDATE()),-1))


--年度计算
DECLARE @Date DATETIME
SET @Date=GETDATE()
--年初,计算给定日期所在年的第一天
SELECT DATEADD(YEAR,DATEDIFF(YEAR,0,@Date),0) AS '所在年的第一天'
--年末,计算给定日期所在年的最后一天
SELECT DATEADD(YEAR,DATEDIFF(YEAR,-1,@Date),-1) AS '所在年的最后一天'
--上一年年初,计算给定日期所在年的上一年的第一天
SELECT DATEADD(YEAR,DATEDIFF(YEAR,-0,@Date)-1,0) AS '所在年的上一年的第一天'
--上一年年末,计算给定日期所在年的上一年的最后一天
SELECT DATEADD(YEAR,DATEDIFF(YEAR,0,@Date),-1) AS '所在年的上一年的最后一天'
--下一年年初,计算给定日期所在年的下一年的第一天
SELECT DATEADD(YEAR,1+DATEDIFF(YEAR,0,@Date),0) AS '所在年的下一年的第一天'
--下一年年末,计算给定日期所在年的下一年的最后一天
SELECT DATEADD(YEAR,1+DATEDIFF(YEAR,-1,@Date),-1) AS '所在年的下一年的最后一天'


 

posted on 2011-12-14 11:57  数据结构X  阅读(216)  评论(0编辑  收藏  举报

导航