Sql server中DateDiff用法

來源:互聯網
上載者:User

Sql server中DateDiff用法


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 的天數。

用法
此Function Compute兩個指定日期之間日期部分的數目。結果為日期部分中等於(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' )

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.