根据日期BigQuery将年龄增加一年

问题描述

我有一个包含生日信息的表:

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),然后将这两个值连接起来。