SQL Server时间函数用法详解

发表于:2010-7-28 11:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  SQL中的时间函数非常有用,特别是在我们进行初始赋值、复杂查询的时候,就显得特别方便。

  1、获得系统当前时间

select getdate() 

  2、DateName (datepart , date )返回表示指定日期的指定日期部分的字符串。

--今天是2009-2-24--星期二

SELECT DATENAME(yeargetdate()) AS 'Year Name' --------返回:2009
SELECT DATENAME(monthgetdate()) AS 'Month Name'  --------返回:02
SELECT DATENAME(weekday, getdate()) AS 'Weekday Name'------返回:星期二

  3、DATEADD (datepart , number, date),在向指定日期加上一段时间的基础上,返回新的 datetime 值。

select DateAdd(MM,2,'2008-8-8'--------------返回:2008-10-08 00:00:00.000
select DateAdd(dd,2,'2008-8-8'--------------返回:2008-08-10 00:00:00.000
select dateadd(hh,-1,getdate()) --------------返回:2009-02-23 12:46:46.450,返回前一个小时的时间

  4、DATEDIFF ( date-part, date-expression-1, date-expression-2 )  返回两个日期之间的间隔。

  此函数计算两个指定日期之间日期部分的数目。结果为日期部分中等于(date2 - date1)的有符号的整数值。

SELECT datediff( hour, '4:00AM''5:50AM' )---------------------------返回: 1
SELECT datediffmonth'1987/05/02''1995/11/15' )------------------返回: 102
SELECT datediffday'00:00''23:59' )------------------------------返回:0
SELECT datediffday,  '1999/07/19 00:00',  '1999/07/23 23:59' )------返回:4
SELECT datediffmonth'1999/07/19''1999/07/23' )------------------返回:0
SELECT datediffmonth'1999/07/19''1999/08/23' )------------------返回:1

  实例:查询当天更新的数据

  select * from tableName where datediff(dd,F_EditTime,getdate())=0

  5、DATEPART (datepart,date)返回代表指定日期的指定日期部分的整数。

--今天是2009-2-24 星期二
SELECT DATEPART(year,getdate()) as 'Year'    --------返回:2009
SELECT DATEPART(month,getdate()) as 'Month'   ---------返回:2
SELECT DATEPART(weekday,getdate()) as 'Weekday' ---------返回:3,如:Sunday = 1、Saturday = 7
SELECT DAY(getdate())             -----------------------返回:24

  备注:DAY、MONTH、和 YEAR 函数分别是 DATEPART(dd, date)、DATEPART(mm, date)、和 DATEPART(yy, date) 的同义词。

  附录:datepart

日期部分缩写
Yearyy, yyyy
quarterqq, q
Monthmm, m
dayofyeardy, y
Daydd, d
Weekwk, ww
Hourhh
minutemi, n
secondss, s
millisecondms

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号