Sql server中时间函数用法详解

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

1、获得系统当前时间

select   getdate () 

 

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

复制代码
-- 今天是2009-2-24--星期二

SELECT   DATENAME ( year getdate ())  AS   'Year  Name '   -- ------返回:2009

SELECT   DATENAME ( month getdate ())  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   datediff month ' 1987/05/02 ' ' 1995/11/15 '  ) -- ----------------返回: 102

SELECT   datediff day ' 00:00 ' ' 23:59 '  ) -- ----------------------------返回:0

SELECT   datediff day ,   ' 1999/07/19 00:00 ' ,   ' 1999/07/23 23:59 '  ) -- ----返回:4

SELECT   datediff month ' 1999/07/19 ' ' 1999/07/23 '  ) -- ----------------返回:0

SELECT   datediff month ' 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值