大家好,又见面了,我是你们的朋友全栈君。
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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135168.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...