當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


MySQL TIMESTAMPDIFF()用法及代碼示例


TIMESTAMPDIFF():

MySQL中的此函數用於從另一個函數中減去DateTime表達式後返回一個值。

用法:

TIMESTAMPDIFF(unit,expr1,expr2)

Parameters: 

它將接受三個參數。



  • 單位-
    它表示結果的單位。可以是以下之一。
    微秒,秒,分鍾,小時,天,周,月,季度,年
  • expr1-
    第一個日期或DateTime表達式。
  • expr2-
    第二個日期或DateTime表達式。

返回值:

減去後返回DateTime表達式。

範例1:

獲取兩個指定的時間值之間的差異,其中以YYYY-MM-DD HH-MM-SS的格式指定時間。這裏expr2大於expr1,因此返回值為正。

SELECT TIMESTAMPDIFF(SECOND, '2010-01-01 10:10:20', '2010-01-01 10:45:59') AS SECONDDIFFERENCE;

輸出:

SECONDDIFFERENCE
2139

範例2:

獲取兩個指定的時間值之間的差異,其中以YYYY-MM-DD HH-MM-SS的格式指定時間。這裏expr2小於expr1,因此返回值為負。

SELECT TIMESTAMPDIFF(SECOND, '2010-01-01 10:10:20', '2010-01-01 09:45:59') AS SECONDDIFFERENCE;

輸出:



SECONDDIFFERENCE
-1461

範例3:

以YYYY-MM-DD的格式指定日期時,獲取月份中兩個指定日期值之間的差異。

SELECT TIMESTAMPDIFF(MONTH, '2019-08-01', '2020-11-01') AS MONTHDIFFERENCE;

輸出:

MONTHDIFFERENCE
15

範例4:

使用TIMESTAMPDIFF函數計算員工的總工作經驗。

創建一個Employee表-

CREATE TABLE Employee(
    id INT AUTO_INCREMENT PRIMARY KEY,
    Full_Name VARCHAR(50) NOT NULL,
    Joining_Date DATE NOT NULL
);

將值插入表格-

INSERT INTO Employee(Full_Name , Joining_Date )
VALUES('Riya Jana', '2000-01-01'),
      ('Sayan Ghosh', '2005-09-26'),
      ('Rinki Sharma', '2014-08-12'),
      ('Aniket Singh', '2019-11-05');

現在,我們將使用TIMESTAMPDIFF來計算該年每個員工的工作經驗。

SELECT 
    id,
    Full_Name,
    Joining_Date ,
    TIMESTAMPDIFF(YEAR, Joining_Date,'2020-11-26') AS WorkExperience
FROM
    Employee ;

輸出:

ID FULL_NAME JOINING_DATE WORKEXPERIENCE
1 裏亞亞娜(Riya Jana) 2000-01-01 20
2 薩揚·高什(Sayan Ghosh) 2005-09-26 15
3 林基·夏爾馬 2014-08-12 6
4 阿妮克特·辛格(Aniket Singh) 2019-11-05 1

相關用法


注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 TIMESTAMPDIFF() function in MYSQL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。