我在mysql中使用FROM_DAYS函数时遇到问题,我想从my_table中获取年龄,这是我的查询;
select dob,CURRENT_DATE,
DATE_FORMAT(FROM_DAYS(DATEDIFF(CURRENT_DATE,dob)),'%y yr %c mth %e dy') AS age,
DATEDIFF(CURRENT_DATE,dob) days from my_table
结果:
dob || CURRENT_DATE || age || days ||
==========++==============++==================++=======++
1953-09-10|| 2013-09-12 || 60 yr 1 mth 3 dy || 21917 ||
2013-09-08|| 2013-09-12 || 00 yr 0 mth 0 dy || 4 ||
当我尝试FROM_DAYS(DATEDIFF(CURRENT_DATE,m.tgllahir))第二行时这是结果
SELECT FROM_DAYS(730669);
-> '2007-07-03'
但是当我尝试这是我得到的;
SELECT FROM_DAYS(730669);
-> '2000-07-03'
我好奇为什么FROM_DAYS功能不能正常工作,但我的主要问题是如何找到年龄?
编辑
在与Barmar讨论后我知道我不能使用FROM_DAYS来获得准确的年龄,所以我试图找到不同的方法