news 2026/6/20 11:20:15

MySQL数据库时间计算的用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL数据库时间计算的用法

今天给大家分享如何通过MySQL内置函数实现时间的转换和计算,在工作当中,测试人员经常需要查询数据库表的日期时间,但发现开发人员存入数据库表的形式都是时间戳形式,不利于测试人员查看,测试人员只能利用工具对时间戳进行转换,才能直观查看。但这样会增加测试人员的效率,那么可巧妙的使用MySQL内置函数,便可以轻松解决这个问题,以及通过内置函数对时间进行加减计算,便可以提高工作的效率。

(一)时间戳和日期时间的转换

应用场景

用于获取当前的日期时间、时间戳,以及时间戳和日期时间的转换

# 1.获取当前日期时间 select now(); # 2.获取当前时间戳 select unix_timestamp(); # 3.时间戳转成日期时间 select from_unixtime(1688264330); # 4.日期时间转成时间戳 select unix_timestamp('2023-07-02 00:00:00');

(二)日期时间的加减计算

1.date_add()

说明:date_add():为当前日期增加一个时间间隔

用法:此函数可用于计算距离当前日期一个月之后的日期

语法格式:DATE_ADD(date,intervalexprtype)

date:指定的时间日期

interval:固定写法

expr:所增加的时间间隔

type:时间间隔的单位,包括:秒、分钟、小时、天、星期、月、季、年等

# 加1天 select now(),date_add(now(), interval 1 day); # 加1小时 select now(),date_add(now(), interval 1 hour); # 加1分钟 select now(),date_add(now(), interval 1 minute ); # 加1秒 select now(),date_add(now(), interval 1 second ); # 加1周 select now(),date_add(now(), interval 1 week); # 加1个月 select now(),date_add(now(), interval 1 month); # 加1季度 select now(),date_add(now(), interval 1 quarter ); # 加1年 select now(),date_add(now(), interval 1 year );

2. date_sub()

说明:date_sub():为当前日期减去一个时间间隔

用法:此函数可用于计算距离当前日期一个月之前的日期

语法格式:DATE_SUB(date,interval expr type)

date:指定的时间日期

interval:固定写法

expr:所减去的时间间隔

type:时间间隔的单位,包括:秒、分钟、小时、天、星期、月、季、年等

# 减1天 select date_sub(now(), interval 1 day); # 减1小时 select date_sub(now(), interval 1 hour); # 减1分钟 select now(),date_sub(now(), interval 1 minute ); # 减1秒 select now(),date_sub(now(), interval 1 second ); # 减1周 select now(),date_sub(now(), interval 1 week); # 减1个月 select now(),date_sub(now(), interval 1 month); # 减1季度 select now(),date_sub(now(), interval 1 quarter ); # 减1年 select now(),date_sub(now(), interval 1 year );

(三)两个日期时间的间隔计算

方式一

内置函数:TimeStampDiff(间隔类型,前一个日期,后一个日期);

间隔类型:second:秒,minute:分钟,hour:小时,day:天,week:周,month:月,quarter:季度,year:年

前一个日期:日期时间格式

后一个日期:日期时间格式

应用场景:用于计算两个日期时间的间隔时间

# 计算间隔的秒 select timestampdiff(second , '2023-07-05 00:00:00',now()); # 另外可用函数sec_to_time()将秒换算成:时:分:秒格式 select sec_to_time(1500); #计算间隔的分钟 select timestampdiff(minute , '2023-07-05 00:00:00',now()); # 计算间隔的小时 select timestampdiff(hour , '2023-07-05 00:00:00',now()); # 计算间隔的天 select timestampdiff(day, '2023-07-05 00:00:00',now()); # 另外可通过两个日期的时间戳相减,得到间隔的时间戳形式 select unix_timestamp()- unix_timestamp('2023-07-05');

方式二

应用场景:直接将两个日期时间相减,得到的间隔时间为:XX天XX小时XX分钟XX秒

# 将时间间隔换算成XX天XX小时XX分钟XX秒 # 1.通过timestampdiff()函数计算两个日期所间隔的秒数 # 2.然后通过floor(): 返回一个小于或等于X的最大整数,向下取整 # 3.在使用convert()函数分别将秒数换算成:天、小时、分钟、秒,得到结果 select convert(floor(timestampdiff(second , '2023-07-05 00:00:00', now())/(3600*24)),char) '天', convert(floor(timestampdiff(second , '2023-07-05', now())%(3600*24)/3600),char) '小时', convert(floor(timestampdiff(second , '2023-07-05', now())%3600/60),char) '分', convert(timestampdiff(second , '2023-07-05', now())%60,char) '秒';

查询结果

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/20 3:48:43

基于单片机的交通红绿灯控制系统

基于单片机的交通红绿灯控制系统设计与实现 第一章 绪论 在城市交通管理中,红绿灯是维持路口秩序的核心设备。传统交通红绿灯多采用固定时序控制,难以应对行人横穿、交通流量波动等场景,存在通行效率低、行人安全保障不足等问题。单片机凭借…

作者头像 李华
网站建设 2026/6/13 15:50:22

在AI技术唾手可得的时代,寻找新需求比实现功能更为关键——某知名统一AI框架需求洞察

a.内容描述 核心功能定位:该项目是一个轻量级Python库,旨在为开发者提供与多家主流生成式AI服务商交互的统一API接口。它抽象了不同服务商SDK之间的差异、身份验证细节和参数变化,让开发者可以用一套代码适配多个提供商。关键应用场景&#x…

作者头像 李华
网站建设 2026/6/16 2:39:33

线上直播预告:LobeChat最新功能发布会

LobeChat最新功能发布会:重新定义开源AI交互体验 在今天,一个开发者只需几分钟就能部署出属于自己的“类ChatGPT”应用——这在过去难以想象。但随着大语言模型(LLMs)的普及和前端工程能力的成熟,构建个性化AI助手正变…

作者头像 李华
网站建设 2026/6/17 9:16:29

Jmeter的三种参数化方式详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快一、 用户定义的变量1.线程组-配置元件添加用户定义的变量2.引用变量 ${变量}二、 csv Data Set config(1)csv Data Set config之.CSV1.造.c…

作者头像 李华
网站建设 2026/6/17 18:11:44

大型HTTP服务器架构演进全解析

大型 HTTP 服务器架构演进路线及思路一个成熟的大型后端服务器(如京东、淘宝等)并不是一开始的设计就具备完整的高性能、高可用、高安全等特性。它是随着业务和用户量的增长,业务功能不断地扩展演化而来的。在这个过程中,团队的增…

作者头像 李华
网站建设 2026/6/13 20:58:34

2025 研发管理平台测评榜单:10大工具深度测评与选型建议

本文深度测评 10 款研发管理与交付平台:ONES、Atlassian Jira、Azure DevOps、GitLab、GitHub Enterprise、Broadcom Rally、ServiceNow、Siemens Polarion ALM、IBM ELM、阿里云云效。重点不是“谁最好”,而是用统一维度拆解覆盖能力、集成生态、度量与…

作者头像 李华