需要计算和存储从出生到死亡日期的年龄
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')));
我有一个名为 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')));