在Mysql中,‘TIMESTAMPDIFF’是用于计算两个日期或时间之间的差值,并返回以给定时间单位表示结果,说白了,就是转换
TIMESTAMPDIFF(unit, datetime1, datetime2)
其中的‘nuit’是计算时间的单位,可以是:
- year(年)
- month(月)
- week(星期)
- day (日)
- hour(时)
- minute(分)
- second(秒)
来个计算天数的例子:
SELECT TIMESTAMPDIFF(DAY, '2022-01-01', '2022-01-10');
计算出来的结果就是他们相差:9天;如果还想计算小时那么看下面例子:
SELECT TIMESTAMPDIFF(HOUR,'2001-07-07 10:00:00','2001-07-07 15:30:00')
计算出来的结果就是他们相差:5.5小时
和当前时间now() 对比一下,看看相差多少天
SELECT TIMESTAMPDIFF(year,'2001-07-07 15:30:10:00',now())
注意,Mysql查看当前时间是:
select now();
这里来一个配合表单数据的综合案例:计算一个人的年龄
create table Student
(
id int primary key AUTO_INCREMENT,
name varchar(50),
age int ,
sbirthdaychar timestamp default CURRENT_TIMESTAMP -- 出生日期,默认是当前日期
) ;
//如果想要计算年龄,可以使用TIMESTAMPDIFF函数进行转换
select Sname,Ssex,TIMESTAMPDIFF(year,sbirthdaychar ,CURDATE())as 年龄 from Student
半杯不啰嗦,希望能帮助到有需要的那个人!!