繁体   English   中英

如何确定MYSQL中年份和月份中两个日期之间的差异?

[英]How to determine the difference between two dates in years and months in MYSQL?

该数据库保存着各个年龄段的记录,其中包括1个月以下重要的1岁以下的孩子。

使用

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个月大的.25或43岁以上的人的43.25

我想要达到的目标是

  • 43y 3m
  • 0y 3m
  • <1年的人甚至只有300万

怎样在mysql查询中表达这样的东西?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM