萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> SQL Server時間函數用法詳解

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

copyright © 萬盛學電腦網 all rights reserved