Subject | Re: [firebird-support] Age Calculation |
---|---|
Author | Valeri Mytinski |
Post date | 2008-11-28T21:30:23Z |
The exact expression is:
EXTRACT(YEAR FROM "date_1") - EXTRACT(YEAR FROM "date_2") - 1
+ (
CASE
WHEN EXTRACT(MONTH FROM "date_1") > EXTRACT(MONTH FROM "date_2")
THEN 1
ELSE (
CASE
WHEN ((EXTRACT(MONTH FROM "date_1") = EXTRACT(MONTH FROM "date_2"))
AND (EXTRACT(DAY FROM "date_1") > EXTRACT(DAY FROM "date_2")))
THEN 1
ELSE 0
END)
END)
2008/11/28, Helen Borrie <helebor@...>:
EXTRACT(YEAR FROM "date_1") - EXTRACT(YEAR FROM "date_2") - 1
+ (
CASE
WHEN EXTRACT(MONTH FROM "date_1") > EXTRACT(MONTH FROM "date_2")
THEN 1
ELSE (
CASE
WHEN ((EXTRACT(MONTH FROM "date_1") = EXTRACT(MONTH FROM "date_2"))
AND (EXTRACT(DAY FROM "date_1") > EXTRACT(DAY FROM "date_2")))
THEN 1
ELSE 0
END)
END)
2008/11/28, Helen Borrie <helebor@...>:
> At 11:35 PM 28/11/2008, you wrote:
>>I need to add a computed column to a table to evaluate a person's age.
>>What is the best way to calculate age? DateDiff(Year, BirthDate,
>>CURRENT_DATE) seems only to take account of the year portion of the
>>dates and not the month and day parts.
>>Regards
>>Peter Gore
>>Using FB2.1
>
> (DateDiff(Month, BirthDate, CURRENT_DATE)) /12.00
>
> ./heLen
>
>