詳細的SQL中datediff用法

2022-02-13 12:30:23 字數 1464 閱讀 8910

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' )

SQL中DateDiff的用法

例 sql select from news where datediff n,date,getdate 5 datediff 返回跨兩個指定日期的日期和時間邊界數。語法datediff datepart startdate enddate 引數datepart 是規定了應在日期的哪一部分計算差額的...

sql中的datediff 函式

返回 variant long 的值,表示兩個指定日期間的時間間隔數目。語法datediff interval,date1,date2 firstdayofweek firstweekofyear datediff 函式語法中有下列命名引數 部分 描述 interval 必要。字串表示式,表示用來計...

SQL中DateDiff的用法

datediff 返回跨兩個指定日期的日期和時間邊界數。語法datediff datepart startdate enddate 引數datepart 是規定了應在日期的哪一部分計算差額的引數。下表列出了 microsoft sql server 識別的日期部分和縮寫。日期部分 縮寫 year y...