文章图片
那么这种需求如何用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 , 基本上只用这一个函数就够了 。 大家都学会了吗?
喜欢本文的话 , 欢迎关注活在信息时代哦:)
- MySQL|2022 客制化键盘走下神坛
- 思维的边界|真实的程序员,和TA的一天是怎样度过的?
- 程序员|马斯克展示猴子用大脑芯片打字 这下是真的程序猿了
- MySQL|粉丝刚买的iPhone12Pro Max有隐藏ID!还是丢失模式!缺点太多!
- Java|浅谈中国程序员的四个层次及后续转职,你在第几层?
- 程序员开发正遭 AI 「革命」
- 建筑行业的程序员是干什么的 蚂蚁庄园建筑行业程序员11.30
- Python|刚抢了画师饭碗的 AI,又要去砸程序员的锅
- |大龄程序员被辞退该何去何从?
- 建筑行业也有“程序员”,主要是用计算机软件进行什么?蚂蚁新村今日答案