当前位置: 首页 > news >正文

MySQL中日期、时间直接相减的坑

前言

在牛客网上写一道 SQL 题时,需要计算两个日期之间相隔的秒数,我在写的时候直接将两个日期进行相减,得出来的值却不是相差的秒数。

情景再现

我在 MySQL 中进行了测试,得出的结论是:如果日期类型直接相减,那么每分钟的间隔会被当成是 100 秒,而不是 60 秒。知道了结论之后,以后计算两个日期之间相差的秒数就再也不敢随意相减了。(图中描述有误,正确的应该是一、三行和中间一行)
在这里插入图片描述

解决方案

使用 TIME_TO_SEC 函数计算一个日期类型的时间戳,两个时间戳相减的结果就是两个时间相差的秒数了,还可以使用 TIMESTAMPDIFF 函数来直接得到两个时间的相差的秒、分、小时、天、月、年。

  1. 使用 TIME_TO_SEC 函数
    在这里插入图片描述
  2. 使用 TIMESTAMPDIFF 函数
    在这里插入图片描述
http://www.lryc.cn/news/150974.html

相关文章:

  • 漏洞发现-web应用发现探针类型利用(43)
  • 专门针对开发人员,攻击者利用Rust获取操作系统信息
  • PHP8的箭头函数-PHP8知识详解
  • 初识PHP编程:探索Web开发的起点
  • Git——Windows平台创建gitee私有仓库详解
  • Git基础教程-常用命令整理:学会Git使用方法和错误解决
  • Ops实践 | 国产化KylinOS系统中快速部署企业内部高性能DNS服务器、时间同步服务器 (精选)...
  • stm32之IIC协议
  • 范式 事务 多表查询
  • 基于白鲸算法优化的BP神经网络(预测应用) - 附代码
  • java并发编程 ReentrantLock详解
  • Java获取文件内容IO流
  • Java后端开发面试题——集合篇
  • 如何允许远程访问MySQL
  • 001图机器学习与图神经网络简介
  • 万级数据优化EasyExcel+mybatis流式查询导出封装
  • Unity——脚本序列化
  • es(Elasticsearch)介绍
  • C++中使用 do…while 循环
  • 开源vue动态表单组件
  • 怎么从0到1创建一个PHP框架-1?
  • Qt无边框青绿色主题
  • 200 套基于Java开发的Java毕业设计实战项目(含源码+说明文档)
  • Ansible学习笔记7
  • Python3 对列表、字典以及二者的嵌套数据(JSON)格式排序
  • 如何在B站进行学习直播
  • 老卫带你学---windows上安装minikube
  • Neo-reGeorg隧道搭建
  • Elasticsearch 7.6 - API高阶操作篇
  • 软件第三方验收测评介绍