DATEDIFF 函式 日期和時間

2021-06-22 15:53:58 字數 1791 閱讀 1747

功能

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

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返回兩個日期(包括第二個日期但不包括第乙個日期)之間星期日的數目。

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

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

標準和相容性 示例

下面的語句返回 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' )
select datediff(yy,'1983-02-30',getdate())
錯誤:error:   server arithmetic overflow during implicit conversion of varchar value '1985-02-30' to a datetime field .

產生溢位  原因:'02-30' 日期不存在

DATEDIFF 函式 日期和時間

功能 返回兩個日期之間的間隔。語法 datediff date part,date expression 1,date expression 2 date part year quarter month week day hour minute second millisecond引數 date p...

DAX函式 日期和時間函式

日期和時間函式 calendar 返回具有單列 date 的表,該列包含一組連續日期。日期範圍從指定的開始日期到指定的結束日期 這兩個日期包含在內 calendar date 2005,1,1 date 2015,12,31 公式返回乙個表,其中的日期介於 2005 年 1 月 1 日和 2015 ...

MySQL函式 日期時間函式

mysql的日期和時間函式主要用於處理日期時間。函式 說明 1 curdate current date 返回當前日期 年月日 select curdate 2018 03 05 2 curtime current time 返回當前時間 時分秒 select curtime 15 18 26 3 ...