
文章图片

那么这种需求如何用Mysql来实现呢?很多人会想到用当前时间减去原来的时间就行了 。 那么我们来试试看 , 比如说我们用当前日期(2022-11-30)减去用户注册日期 , 比如说是2022-11-1 。
select now()-'2022-11-5';
然后我们来看一下结果 。
咦 , 出现了一个奇怪的大数 。
那么这个数是什么呢?原来Mysql对于这种时间直接相减的做法是直接把年月日时分秒拼起来成为一个大数 。
例如2022-11-30 12:15:56 , 会被拼成是20221130121556 , 然后另一个日期也是如此 , 所以就会得出一个奇怪的数 。
那么我们想要做时间相减要什么操作呢?可以用timestampdiff函数 。
它的作用是返回两个日期时间之间的整数差 。 函数语法分别为:
TIMESTAMPDIFF(unitdatetime_expr1datetime_expr2)
其中unit是返回值的单位 , 可以用year month week day hour minute second和microsecond 。
【MySQL|程序员应知应会之Mysql里怎么计算时间日期之差?】我们来试一下 , 例如我们使用:
select timestampdiff(month '2022-1-1' curdate());
我们看到结果是正确的结果10 。
Mysql的时间日期差函数还有几个 , 例如time_diff等 , 但是最好用的就是timestampdiff , 基本上只用这一个函数就够了 。 大家都学会了吗?
喜欢本文的话 , 欢迎关注活在信息时代哦:)
- 程序员|程序员的口味变了!C++首次逆袭JAVA:跻身最受欢迎编程语言TOP3
- 数据库原理及MySQL应用 | 日志管理(附限免视频)
- 小米13|数影周报:程序员离职后锁公司硬盘;“交个朋友”成立淘宝事业部
- 靠玩ChatGPT|0行代码拿210万年薪程序员新工作纯靠和ai聊天
- 程序员|0行代码拿210万年薪 程序员新工作纯靠和AI聊天
- MySQL|荣耀怎么就越来越差,消费者不再回购荣耀,原因在这里
- MySQL|M2 Pro和M2 Max加持!两台未发布的Mac曝光
- MySQL|100张全球原生的华人创业面孔丨36kr 2022全球华人精英Power100发布
- MySQL|中国芯片开始破局?中企新成果已开始量产入市,逆袭美韩3大厂商
- 程序员|偶然当程序员却拿下图灵奖 超算榜单之父讲述人生开挂经历
