日期加減

DATEDIFF 函數 [日期和時間]

功能

返回兩個日期之間的間隔。

語法

DATEDIFF ( date-part, date-expression-1, date-expression-2 )

date-part :

year | quarter | month | week | day | hour | minute | second | millisecond

參數

date-part 指定要測量其間隔的日期部分。

有關日期部分的詳细信息,請參見日期部分。

date-expression-1 某一間隔的起始日期。以 date-expression-2 中減去該值,返回兩個參數之間 date-parts 的天數。

date-expression-2 某一間隔的结束日期。以該值中減去 Date-expression-1,返回兩個參數之間 date-parts 的天數。

用法

此函數計算兩個指定日期之間日期部分的數目。结果為日期部分中等於(date2 - date1)的有符號的整數值。

當结果不是日期部分的偶數倍時,DATEDIFF 將被截斷而不是被舍入。

當使用 day 作為日期部分時,DATEDIFF 返回兩個指定的時間之間(包括第二个日期但不包括第一个日期)的午夜數。

當使用 month 作為日期部分時,DATEDIFF 返回兩個日期之間(包括第二个日期但不包括第一个日期)出現的月的第一天的數目。

當使用 week 作為日期部分時,DATEDIFF 返回兩個日期(包括第二个日期但不包括第一个日期)之間星期日的數目。

對於更小的時間單位存在溢出值:

milliseconds 24 天

seconds 68 年

minutes 4083 年

others 沒有溢出限制

如果超出這些限制,此函數將返回溢出錯誤。

標準和兼容性

SQL/92 Transact-SQL 擴展。

SQL/99 Transact-SQL 擴展。

Sybase 與 Adaptive Server Enterprise 兼容。

下面範例的語句返回 1:

SELECT datediff( hour, '4:00AM', '5:50AM' )下面的語句返回 102:

SELECT datediff( month, '1987/05/02', '1995/11/15' )下面的語句返回 0:

SELECT datediff( day, '00:00', '23:59' )下面的語句返回 4:

SELECT datediff( day,

'1999/07/19 00:00',

'1999/07/23 23:59' )下面的語句返回 0:

SELECT datediff( month, '1999/07/19', '1999/07/23' )下面的語句返回 1:

SELECT datediff( month, '1999/07/19', '1999/08/23' )

資料來源:http://www.w17x.com/AritcleDisplay.aspx?id=459