Mysql中TIMESTAMPDIFF函数的语法与练习案例
作者:山茶花开时。 发布时间:2024-01-28 18:43:44
标签:mysql,timestampdiff,函数
TIMESTAMPDIFF函数用于计算两个日期的时间差
语法结构
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
参数说明
unit: 日期比较返回的时间差单位,常用可选值如下:
SECOND:秒
MINUTE:分钟
HOUR:小时
DAY:天
WEEK:星期
MONTH:月
QUARTER:季度
YEAR:年
datetime_expr1: 要比较的日期1
datetime_expr2: 要比较的日期2
TIMESTAMPDIFF函数返回datetime_expr2 - datetime_expr1的结果,其中datetime_expr1和datetime_expr2可以是DATE或DATETIME类型值
示例
-- 相差:25秒
SELECT TIMESTAMPDIFF(SECOND,'2022-04-23 14:57:00','2022-04-23 14:57:25');
-- 相差:5分钟
SELECT TIMESTAMPDIFF(MINUTE,'2022-04-23 15:00:00','2022-04-23 15:05:00');
-- 相差:5小时
SELECT TIMESTAMPDIFF(HOUR,'2022-04-23 11:20:00', '2022-04-23 16:20:00');
-- 相差:2天
SELECT TIMESTAMPDIFF(DAY,'2022-04-23 11:20:00', '2022-04-25 11:20:00');
-- 相差:1星期
SELECT TIMESTAMPDIFF(WEEK,'2022-04-23 11:20:00', '2022-04-30 11:20:00');
-- 相差:1月
SELECT TIMESTAMPDIFF(MONTH,'2022-04-23 11:20:00', '2022-05-30 11:20:00');
-- 相差:1季度
SELECT TIMESTAMPDIFF(QUARTER,'2022-04-23 11:20:00', '2022-07-23 11:20:00');
-- 相差:1年
SELECT TIMESTAMPDIFF(YEAR,'2022-04-23 11:20:00', '2023-04-23 11:20:00');
TIMESTAMPDIFF函数允许其搭配使用的参数datetime_expr1和datetime_expr2具有混合类型
案例
datetime_expr1是DATE类型值,datetime_expr2是DATETIME类型值,TIMESTAMPDIFF函数会将datetime_expr1自动转换成DATETIME类型值(即在日期后面加上时间“00:00:00”)
-- 12
SELECT TIMESTAMPDIFF(HOUR,'2022-04-27','2022-04-27 12:00:00');
-- 12
SELECT TIMESTAMPDIFF(HOUR,'2022-04-27 00:00:00','2022-04-27 12:00:00');上述两行代码等价,返回的都是相同的结果
TIMESTAMPDIFF函数可以结合日期函数进行搭配使用
-- 可以结合日期函数进行搭配使用
SELECT TIMESTAMPDIFF(SECOND,'2022-04-23', CURRENT_DATE());
SELECT TIMESTAMPDIFF(SECOND,'2022-04-23 15:15:00',NOW());
SELECT TIMESTAMPDIFF(SECOND,'2022-04-23 15:15:00',CURRENT_TIMESTAMP());
-- 上述日期函数补充说明
-- CURRENT_DATE()用于返回当前时间
-- 示例结果:2022-04-27
SELECT CURRENT_DATE();
-- NOW()用于返回当前日期和时间
-- 示例结果:2022-04-27 11:27:28
SELECT NOW();
-- CURRENT_TIMESTAMP()用于返回当前日期和时间
-- 示例结果:2022-04-27 11:30:25
SELECT CURRENT_TIMESTAMP();
练习案例
导入数据
DROP TABLE IF EXISTS Student;
CREATE TABLE Student (
SId VARCHAR (10),
Sname VARCHAR (10),
Sage datetime,
Ssex VARCHAR (10)
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
INSERT INTO Student(SId,Sname,Sage,Ssex)
VALUES('01' , '赵雷' , '1990-01-01' , '男')
,('02' , '钱电' , '1990-12-21' , '男')
,('03' , '孙风' , '1990-05-20' , '男')
,('04' , '李云' , '1990-08-06' , '男')
,('05' , '周梅' , '1991-12-01' , '女')
,('06' , '吴兰' , '1992-03-01' , '女')
,('07' , '郑竹' , '1989-07-01' , '女')
,('08' , '张三' , '2017-12-20' , '女')
,('09' , '李四' , '2017-12-25' , '女')
,('11' , '李四' , '2017-12-30' , '女')
,('12' , '孙七' , '2018-01-01' , '女');
Student表
问题:按照出生日期来算学生年龄,其中当前月日<出生年月的月日,则年龄减一
解题思路
使用NOW()、TIMESTAMPDIFF()函数计算年龄
SELECT *, TIMESTAMPDIFF(YEAR,Sage,NOW())AS age
FROM Student;
结果展示:
总结
来源:https://blog.csdn.net/Hudas/article/details/124351790
0
投稿
猜你喜欢
- 本文实例讲述了python基于xmlrpc实现二进制文件传输的方法。分享给大家供大家参考。具体实现方法如下:服务器端:from Simple
- 在Python中,最基本的数据结构为序列。Python中包含6种内建序列:字符串、列表、元组、Unicode字符串、buffer对象、xra
- 接着上一篇《服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(上)》继续讲讲ServerXMLH
- 总说由于pytorch 0.4版本更新实在太大了, 以前版本的代码必须有一定程度的更新. 主要的更新在于 Variable和Tensor的合
- 最近有用到对存储过程(procedure)重命名的功能,在网上找了一下资料都没有讲到在mysql中是如何实现的,当然可以删掉再重建,但是应该
- 本文介绍了Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录,分享给大家,具体如下:Python 2.7I
- 1.查找重复的行SELECT * FROM blog_user_relation a WHERE (a.account_instance_i
- 清除日志: DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT
- DJANGO-ALLAUTH是github上面排名较高的django user系统.本来通过对比是想选用django-userea的,可是博
- 昨天我突发奇想,想用display:inline来实现三列的布局可是搞了半天就是不行。但是理论上是可以的呀(后来才发现是不理解的不深刻,我的
- 最近学习了一下前后端分离技术,前端用的是Vue,后段用的是Flask。vue官网:开源的 Javascript 框架,vue是一套构建用户界
- 在机器学习过程中,通常会通过pandas读取csv文件,保持成dadaframe格式,然而有时候需要对dataframe中的时间字段进行数据
- 解读model.named_parameters()与model.parameters()model.named_parameters()迭
- 在一般的MIS应用中,会有大量的报表,此时我们可以在后台数据库编写相应的视图或存储过程,用ASP通过ADO调用以完成报表工作。下面用一个例子
- 一日,遇到一个问题,求上一个月的今天。 最开始我们使用 strtotime(”-1 month”) 函数求值,发现有一个问题,月长度不一样的
- 为了得到更好的网络,学习率通常是要调整的,即刚开始用较大的学习率来加快网络的训练,之后为了提高精确度,需要将学习率调低一点。如图所示,步长(
- 本文实例讲述了Python通过TensorFLow进行线性模型训练原理与实现方法。分享给大家供大家参考,具体如下:1、相关概念例如要从一个线
- 用DIV+CSS可以作出很多不同形状的角形;以下我只写了几个;CSS没有优化;是为了让大家看得更清一些;以下是一些小三角的形状:这是第一个小
- 个人想到的解决方法有两种,一种是 .replace(' old ',' new ')
- 本文实例讲述了Python3爬虫爬取百姓网列表并保存为json功能。分享给大家供大家参考,具体如下:python3爬虫之爬取百姓网列表并保存