sql 常用日期函数计算

--当前时间加一天
SELECT DATEADD(D,1,GETDATE())

--当前时间减一天
SELECT DATEADD (D,-1,GETDATE())

--当前月的第一天

SELECT DATEADD(MONTH,DATEDIFF(MONTH,'1900-01-01',GETDATE ()),'1900-01-01')

SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0)

SELECT DATEADD(D,1-DATEPART(DAY,GETDATE()),GETDATE())

--当前月的最后一天
SELECT DATEADD(D,-1,DATEADD(MONTH,1+DATEDIFF(MONTH,0,GETDATE()),0))

SELECT DATEADD(MONTH,1+DATEDIFF(MONTH,0,GETDATE()),0)-1

SELECT DATEADD(D,-1,DATEADD(MONTH,1,DATEADD(D,1-DATEPART(D,GETDATE()),GETDATE())))

--当前月的上一月的第一天

SELECT  DATEADD(MONTH, -1, DATEADD (MONTH, DATEDIFF (MONTH,0,GETDATE()),0))

SELECT DATEADD (MONTH,DATEDIFF(MONTH,0,GETDATE())-1,0)

--当前月的上一月的最后一天

SELECT  DATEADD (MONTH, DATEDIFF (MONTH,0,GETDATE()),0)-1
SELECT  DATEADD (D, -1, DATEADD (MONTH, DATEDIFF (MONTH,0,GETDATE()),0))

--当前星期的星期日
SELECT DATEADD(WEEK,DATEDIFF(WEEK,-1,GETDATE()),-1)

--当前星期几
SELECT DATEPART(WEEKDAY,GETDATE())

--当前度第一天与下季度第一天所差的天数
SELECT DATEDIFF(DAY,DATEADD(QUARTER,DATEDIFF(QUARTER,0,GETDATE()),0),DATEADD(QUARTER,1+DATEDIFF(QUARTER,0,GETDATE()),0))

--当前季度第一天 
 SELECT DATEADD(QUARTER,DATEDIFF(QUARTER,0,GETDATE ()),0)
 
--当前季度最后第一天
SELECT DATEADD(QUARTER,1+DATEDIFF(QUARTER,0,GETDATE ()),-1)

--当前季度的上个季度初
SELECT DATEADD(QUARTER,DATEDIFF(QUARTER,0,GETDATE())-1,0)

--当前季度的上个季度末
SELECT DATEADD(QUARTER,DATEDIFF(QUARTER,0,GETDATE()),-1)

--当前季度的下个季度初

SELECT DATEADD(QUARTER,1+DATEDIFF(QUARTER,0,GETDATE()),0)

--当前季度的下个季度末
SELECT DATEADD(QUARTER,2+DATEDIFF(QUARTER,0,GETDATE()),-1)

--所在月的第一个星期一
 SELECT DATEADD(WEEK,DATEDIFF(WEEK,0,DATEADD(DAY,6-DATEPART(DAY,GETDATE()),GETDATE())),0)
 
--本年度第一天
 SELECT DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE()),0)
 
--本年度最后第一天
SELECT DATEADD (D,-1, DATEADD(YEAR,DATEDIFF(YEAR,0,DATEADD(YEAR,1,GETDATE())),0))

posted @ 2011-11-16 00:13  sulin  阅读(854)  评论(0编辑  收藏  举报