gpt4 book ai didi

mysql - MYSQL中如何判断两个日期之间的年月差?

转载 作者:行者123 更新时间:2023-11-30 00:17:05 25 4
gpt4 key购买 nike

该数据库保存了所有年龄段的人的记录,包括 1 岁以下的 child ,其中月份很重要。

使用

SELECT TIMESTAMPDIFF(YEAR, dob, CURDATE()) AS age; 

您遇到的问题是任何 < 1 年的人都显示为 0;

使用

SELECT TIMESTAMPDIFF(MONTH, dob, CURDATE()) AS age; 

任何 1 岁以上的人都会在几个月后出现,因此 43 岁的人的年龄将超过 500 个月

使用

SELECT TIMESTAMPDIFF(MONTH, dob, CURDATE()) / 12 AS age; 

您可以获得一些结果,例如 3 个月大的 child 为 0.25,43 岁以上的 child 为 43.25

我想要实现的目标是这样的

  • 43岁3m
  • 0y 3m
  • 或者对于 < 1 年的人甚至只是 3m

如何在 mysql 查询中表达这样的内容?

最佳答案

 SELECT IF(TIMESTAMPDIFF(MONTH, dob, CURDATE())>12,TIMESTAMPDIFF(MONTH, dob, CURDATE())/12+ 'yeasrs old' , TIMESTAMPDIFF(MONTH, dob, CURDATE())+'months old')

关于mysql - MYSQL中如何判断两个日期之间的年月差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23568916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com