how do you calculate the age (in months) using the date of birthday?

Options

how do you calculate the age (in months) using the date of birthday?

Can I use this:

ROUND(DATEDIFF(INFANT'S DETAILS:\nDate of Birth,CURRENT_DATE()) / 365,1)*12

Best Answers

  • ColemenWilson
    edited September 2023 Answer ✓
    Options

    This is what I would use:

    ROUND(DATEDIFF(CURRENT_DATE(),`INFANT'S DETAILS:\nDate of Birth`)/ 30.437)

    Note that I've also swapped the order of Infants details and Current date in the DATEDIFF() function to avoid a negative number.

    If I solved your problem, please select "yes" above

  • marcel_luthi
    marcel_luthi Coach
    Answer ✓
    Options

    Another approach would be to use the PERIOD_DIFF function, something like:

    period_diff(date_format(CURRENT_DATE(), '%Y%m'),date_format(`INFANT'S DETAILS:\nDate of Birth`, '%Y%m'))
    

    I'd advise you to try both, put them side by side and then compare a few examples to what your expected number would be, so you can get the one that works closer to how you'd manually do so.

Answers

  • ColemenWilson
    edited September 2023 Answer ✓
    Options

    This is what I would use:

    ROUND(DATEDIFF(CURRENT_DATE(),`INFANT'S DETAILS:\nDate of Birth`)/ 30.437)

    Note that I've also swapped the order of Infants details and Current date in the DATEDIFF() function to avoid a negative number.

    If I solved your problem, please select "yes" above

  • marcel_luthi
    marcel_luthi Coach
    Answer ✓
    Options

    Another approach would be to use the PERIOD_DIFF function, something like:

    period_diff(date_format(CURRENT_DATE(), '%Y%m'),date_format(`INFANT'S DETAILS:\nDate of Birth`, '%Y%m'))
    

    I'd advise you to try both, put them side by side and then compare a few examples to what your expected number would be, so you can get the one that works closer to how you'd manually do so.