通常,当您想要计算没有任何分数的年份时,在mysql中进行DOB计算非常容易
mysql> select timestampdiff(YEAR,'1981-06-01',now());
+----------------------------------------+
| timestampdiff(YEAR,'1981-06-01',now()) |
+----------------------------------------+
| 33 |
+----------------------------------------+
但既然你需要分数,那么这应该可以解决问题
mysql> select format(datediff(curdate(),'1981-06-01') / 365.25,2);
+-----------------------------------------------------+
| format(datediff(curdate(),'1981-06-01') / 365.25,2) |
+-----------------------------------------------------+
| 33.02 |
+-----------------------------------------------------+
年度被视为365.25天.
因此,在您的情况下,您可以将查询作为
select
format(datediff(curdate(),dob) / 365.25,2) as dob
from players limit 5;