问题描述
BirthYear CurrentAgeResults ExpectedAgeResults
2016-06-01T00:00:00 4.5 3.5
2017-06-01T00:00:00 3.5 2.5
2018-06-01T00:00:00 2.5 1.5
我正在尝试计算当前年龄,但只想添加日期为12-01的年份。例如,第一行出生于2016年6月。当前年龄应该是3.5岁,到2020年12月1日,年龄将增加到4.5岁。因此,我只希望在日期为12月1日的冬季增加一年。我对需要制作的野生生物种类进行了特殊的生存计算,它基于12月1日至11月30日。我感兴趣的物种总是在6月1日出生(年份不同)。我一直希望它显示.5从不0.0。
根据我当前的查询,当前年龄是4.5岁。这是我到目前为止的内容:
UPDATE `tableA`
SET CurrentAge = DATE_DIFF(CURRENT_DATE(),DATE(extract(year FROM BirthYear),12,1),YEAR ) + 0.5
WHERE CurrentAge is null ;
解决方法
每个评论。
试图以Age.0和Age.5为增量显示?如果是这样,也许首先计算年份,然后计算月份(将大小写或其他逻辑设置为0或0.5),然后将这两个值连接起来。