青岛市黄岛区网站建设,西安企业名录电话资料,wordpress 企业沟通插件,wordpress部署文件今天给大家分享如何通过MySQL内置函数实现时间的转换和计算#xff0c;在工作当中#xff0c;测试人员经常需要查询数据库表的日期时间#xff0c;但发现开发人员存入数据库表的形式都是时间戳形式#xff0c;不利于测试人员查看#xff0c;测试人员只能利用工具对时间戳进…
今天给大家分享如何通过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,interval expr type)
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()函数分别将秒数换算成天、小时、分钟、秒得到结果selectconvert(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) 秒;查询结果 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你