sql server 日期算法


--本月 ,上月,本季度,本年

SELECT CONVERT(datetime,CONVERT(char(8),GETDATE (),120)+ '1 ') --月第一天
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,GETDATE ()),120)+ '1 ') --月最后一天

SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(M,-1,GETDATE ()),120)+ '1 ') --上个月第一天
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,DATEADD(M,-1,GETDATE ())),120)+ '1 ') 上个月最后一天

SELECT CONVERT(datetime,
CONVERT(char(8),
DATEADD(Month,
DATEPART(Quarter,GETDATE ())*3-Month(GETDATE ())-2,
GETDATE ()),
120)+ '1 ') --本季度第一天

SELECT DATEADD(Day,-1,
CONVERT(char(8),
DATEADD(Month,
1+DATEPART(Quarter,GETDATE ())*3-Month(GETDATE ()),
GETDATE ()),
120)+ '1 ') --本季度最后一天

SELECT CONVERT(char(5),GETDATE (),120)+ '1-1 ' --年的第一天

SELECT CONVERT(char(5),GETDATE (),120)+ '12-31 ' --年的最后一天


select CONVERT (char(10),GETDATE (),120) + ' 00:00:00.000' --当天第一时间

select CONVERT (char(10),GETDATE (),120) + ' 23:59:59:997' --当天结束时间
 
--一个日期如果只有年月日时,默认时分秒为00:00:00
 
select DATEAdd (d, 0 ,'2011-05-17')
/*
2011-05-17 00:00:00.000
*/

posted @ 2011-04-18 14:58  yingtaowz  阅读(129)  评论(0编辑  收藏  举报