需要计算和存储从出生到死亡日期的年龄
问题描述:
我有一个名为caduti
的日期列data_nasc
(出生日期)和data_dec
(死亡日期)的人数据的sql表。 我需要计算死亡时的年龄(以年为单位),并在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)
)
)
但它不起作用。我的需要不仅是计算年龄,而且还将它们存储在表格栏中。任何帮助?
答
试试这个
update
caduti
set caduti.eta = (year(data_dec) - year(data_nasc) - (date_format(data_dec, '%m%d') < date_format(data_nasc, '%m%d')));
谢谢您的答复。这个解决方案非常简单高效,解决了我的问题。 – Pier67