需要计算和存储从出生到死亡日期的年龄

Need to calculate and store age from birth to death date

我有一个名为 caduti 的 sql table 人员数据,日期列为 data_nasc(出生日期)和 data_dec(死亡日期). 我需要计算死亡年龄(以岁为单位)并在 eta 列中设置此值。 我试过一些查询,比如这个:

UPDATE caduti
SET caduti.eta =     
    DATEDIFF(YY, caduti.data_nasc, caduti.data_dec) - 
    CEILING
     (0.5 * SIGN (
        (MONTH(caduti.data_nasc) - MONTH(caduti.data_dec)) * 50
         + DAY(caduti.data_nasc) - DAY(caduti.data_dec)
        )
      )

但它不起作用。我的需要不仅是计算年龄,还要将它们存储在 table 列中。有帮助吗?

试试这个

update 
caduti
set caduti.eta = (year(data_dec) - year(data_nasc) - (date_format(data_dec, '%m%d') < date_format(data_nasc, '%m%d')));