1. 程式人生 > >例說SQL Server 2008 日期和時間函式

例說SQL Server 2008 日期和時間函式

返回系統當前日期的函式GETDATE()

例:

SQL查詢:

SELECT GETDATE()

執行結果:


返回指定日期是一個月中第幾天的函式DAY(date)

例:

SQL查詢:

SELECT DAY('2014-3-15 00:00:00')

執行結果:

 

返回指定日期中月份的函式MONTH(date)

例:

SQL查詢:

SELECT MONTH('2014-3-15 00:00:00')

執行結果:

返回指定日期中年份的函式YEAR(date)

例:

SQL查詢:

SELECT YEAR('2014-3-15 00:00:00')

執行結果:

 

返回指定日期中指定部分字串值的函式

DATENAME(datepart,date)

例:

SQL查詢:

SELECT DATENAME(YEAR,'2014-3-15 10:23:45')
SELECT DATENAME(MONTH,'2014-3-15 10:23:45')
SELECT DATENAME(DAY,'2014-3-15 10:23:45')
SELECT DATENAME(HOUR,'2014-3-15 10:23:45')
SELECT DATENAME(MINUTE,'2014-3-15 10:23:45')
SELECT DATENAME(SECOND,'2014-3-15 10:23:45')

執行結果:

 

說明:

引數datepart還可以是quarter,dayofyear,week,weekday,millisecond等。

6 返回指定日期中指定部分的整數值的函式DATEPART(datepart,date)

例:

SQL查詢:

SELECT DATEPART(YEAR,'2014-3-15 10:23:45')
SELECT DATEPART(MONTH,'2014-3-15 10:23:45')
SELECT DATEPART(DAY,'2014-3-15 10:23:45')
SELECT DATEPART(HOUR,'2014-3-15 10:23:45')
SELECT DATEPART(MINUTE,'2014-3-15 10:23:45')
SELECT DATEPART(SECOND,'2014-3-15 10:23:45')

執行結果:

 

說明:

引數datepart同樣還可以是quarter,dayofyear,week,weekday,millisecond等。

DATEPART函式與DATENAME函式的引數datepart取值相同,兩函式的區別是:DATEPART函式返回指定部分的整型值,DATENAME函式返回指定部分的字串值。所以前面兩例中的查詢結果看起來是一致的,只是型別不同而已。

返回指定日期加上一個時間段後的新日期函式DATEADD(datepart,number,date)

例:

SQL查詢:

SELECT DATEADD(YEAR,2,'2014-3-15 10:23:45')
SELECT DATEADD(MONTH,2,'2014-3-15 10:23:45')
SELECT DATEADD(DAY,2,'2014-3-15 10:23:45')
SELECT DATEADD(HOUR,2,'2014-3-15 10:23:45')
SELECT DATEADD(MINUTE,2,'2014-3-15 10:23:45')
SELECT DATEADD(SECOND,2,'2014-3-15 10:23:45')

執行結果:

 

說明:

引數datepart同樣還可以是quarter,dayofyear,week,weekday,millisecond等。

number為非整數值時,將捨棄number小數部分。

例:

SQL查詢:

SELECT DATEADD(YEAR,2.5,'2014-3-15 10:23:45')

執行結果:

 

number為負值時,會在指定時間上做減法運算。

例:

SQL查詢:

SELECT DATEADD(YEAR,-2.5,'2014-3-15 10:23:45')

執行結果: