sql语句:日期函数相关的SQL总结datediff(),datepart()

这两天工作中碰到统计信息的程序.按类别,年,月…来统计不同栏目的信息数量.总结下自己查阅的一些函数.

计算时间的函数中有,年(yy),季(q),月(m),周(ww),时期(w),天(d),时(hh),分(n),秒(s)

getdate():返回当前日期

获取当前月份的天数:

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

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

  1. select datepart(yy,getdate()) //年
  2. select datepart(q,getdate()) //季
  3. select datepart(m,getdate()) //月
  4. select datepart(ww,getdate())//周
  5. select datepart(w,getdate()) //星期,从0开始.
  6. select datepart(d,getdate()) //天
  7. select datepart(hh,getdate())//时
  8. select datepart(n,getdate()) //分
  9. select datepart(s,getdate()) //秒

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

  1. select dateadd(dd,5,getdate())
  2. select dateadd(dd,-5,getdate())

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

  1. select datediff(yy,'2005-01-01 14:12:01',getdate())
  2. select datediff(q,'2005-01-01 14:12:01',getdate())
  3. select datediff(m,'2005-01-01 14:12:01',getdate())
  4. select datediff(ww,'2005-01-01 14:12:01',getdate())
  5. select datediff(d,'2005-01-01 14:12:01',getdate())
  6. select datediff(hh,'2005-01-01 14:12:01',getdate())
  7. select datediff(n,'2005-01-01 14:12:01',getdate())
  8. select datediff(s,'2005-01-01 14:12:01',getdate())

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

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

datediff('D',LastHitTime,getdate())<=0
不要'D"旁边的单引号
这是AC与sql 的区别

原文地址:https://www.cnblogs.com/LiaoHao/p/3344848.html