日期函数相关的SQL总结datediff(),datepart()

 

碰到统计信息的程序.按类别,年,月…来统计不同栏目的信息数量.总结下自己查阅的一些函数.
计算时间的函数中有,年(yy),季(q),月(m),周(ww),时期(w),天(d),时(hh),分(n),秒(s)

getdate():返回当前日期

获取当前月份的天数:

select datediff(d,getdate(),dateadd(m,1,getdate()))

获取当前年,季,月,周,天,时,分,秒:

select datepart(yy,getdate()) //年
select datepart(q,getdate()) //季
select datepart(m,getdate()) //月
select datepart(ww,getdate())//周
select datepart(w,getdate()) //星期,从0开始.
select datepart(d,getdate()) //天
select datepart(hh,getdate())//时
select datepart(n,getdate()) //分
select datepart(s,getdate()) //秒

获取当前天的前后五天日期:

select dateadd(dd,5,getdate())
select dateadd(dd,-5,getdate())

获取当前日期与目标日期相差的年,月,周,日,时,分,秒:

select datediff(yy,'2005-01-01 14:12:01',getdate())
select datediff(q,'2005-01-01 14:12:01',getdate())
select datediff(m,'2005-01-01 14:12:01',getdate())
select datediff(ww,'2005-01-01 14:12:01',getdate())
select datediff(d,'2005-01-01 14:12:01',getdate())
select datediff(hh,'2005-01-01 14:12:01',getdate())
select datediff(n,'2005-01-01 14:12:01',getdate())
select datediff(s,'2005-01-01 14:12:01',getdate())

获取当前月份添加的信息:

select count(*) as num, Origin from ks_article month(getdate())=DatePart("m",adddate) group by Origin

datediff('D',LastHitTime,getdate())<=0

不要'D"旁边的单引号
这是AC与sql 的区别

你可能感兴趣的:(数据库)