当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。