常用日期計(jì)算SQL語句
[導(dǎo)讀]--??本月的第一天
SELECT?DATEADD(mm,?DATEDIFF(mm,0,getdate()),?0)?
--??本月的最后一天
SELECT?DATEADD(ms,-3,DATEADD
--??本月的第一天 SELECT?DATEADD(mm,?DATEDIFF(mm,0,getdate()),?0)? --??本月的最后一天 SELECT?DATEADD(ms,-3,DATEADD(mm,?DATEDIFF(m,0,getdate())+1,?0))? --??上個(gè)月的第一天 SELECT?DATEADD(m,-1,?DATEADD(mm,?DATEDIFF(mm,0,getdate()),?0)) --??上個(gè)月的最后一天? SELECT?DATEADD(ms,-3,DATEADD(mm,?DATEDIFF(mm,0,getdate()),?0))? --??本周的星期一 SELECT?DATEADD(wk,?DATEDIFF(wk,0,getdate()),?0) --??本周的周日 SELECT?DATEADD(d,+6?,DATEADD(wk,?DATEDIFF(wk,0,getdate()),?0)?) --??上周的星期一 SELECT?DATEADD(d,-7?,DATEADD(wk,?DATEDIFF(wk,0,getdate()),?0)?) --??上周的周日 SELECT?DATEADD(d,-1?,DATEADD(wk,?DATEDIFF(wk,0,getdate()),?0)?) --??一年的第一天 SELECT?DATEADD(yy,?DATEDIFF(yy,0,getdate()),?0)? --??季度的第一天 SELECT?DATEADD(qq,?DATEDIFF(qq,0,getdate()),?0)? --??去年的最后一天 SELECT?DATEADD(ms,-3,DATEADD(yy,?DATEDIFF(yy,0,getdate()),?0)) --??本月的第一個(gè)星期一 SELECT?DATEADD(wk,?DATEDIFF(wk,0,DATEADD(dd,6-datepart(day,getdate)),getdate))),0) --??本年的最后一天 SELECT?DATEADD(ms,-3,DATEADD(yy,?DATEDIFF(yy,0,getdate())+1,?0))。 --??--??--??--??--??--??--??--??--??--??--??--??--??--??--?? --??Sql?Server中的日期與時(shí)間函數(shù)?--??當(dāng)前系統(tǒng)日期、時(shí)間? ?SELECT?getdate()? --??DATEADD?在向指定日期加上一段時(shí)間的基礎(chǔ)上,返回新的?datetime?值 ?例如:向日期加上2天? ?SELECT?DATEADD(day,2,'2004-10-15')?--??返回:2004-10-17?00:00:00.000 --??datediff?返回跨兩個(gè)指定日期的日期和時(shí)間邊界數(shù)。 ?SELECT?datediff(day,'2004-09-01','2004-09-18')?--??返回:17 --??datepart?返回代表指定日期的指定日期部分的整數(shù)。 ?SELECT?DATEPART(month,?'2004-10-15')?--??返回?10 --??datename?返回代表指定日期的指定日期部分的字符串 ?SELECT?datename(weekday,?'2004-10-15')?--??返回:星期五 --??day(),?month(),year()?--??可以與datepart對(duì)照一下 --??--??--??--??--??--??--??--??--??--??--??--??--??--??--?? SELECT?當(dāng)前日期=convert(varchar(10),getdate(),120)? SELECT?當(dāng)前時(shí)間=convert(varchar(8),getdate(),114) SELECT?datename(dw,'2004-10-15') SELECT?本年第多少周=datename(week,'2004-10-15') SELECT?今天是周幾=datename(weekday,'2004-10-15')





