无忧岛

27 十, 2009

SQL统计常用时间函数

Posted by: kinglife In: SQL Server

统计在数据库中是最常见也是必不可少的,前段时间用Teechat控件使用统计遇到的一些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

版权所有,转载时必须以链接形式注明作者和原始出处及本声明:KingLife@无忧岛

本文链接: http://www.islandcn.com/post/717.html



No Responses to "SQL统计常用时间函数"

Comment Form

Flickr PhotoStream

    flickrRSS probably needs to be setup

About

Name:KingLife
Email:lifewz#163.com