w3resource

MySQL Date and Time Exercises: Calculate the age in year

MySQL Date Time: Exercise-6 with Solution

Write a MySQL query to calculate the age in year.

Code:

-- This SQL query calculates the age based on the difference between the current year and the year of birth.

SELECT 
YEAR(CURRENT_TIMESTAMP) - -- Calculates the current year.
YEAR("1967-06-08") - -- Calculates the year from the given birthdate.
    (RIGHT(CURRENT_TIMESTAMP, 5) < -- Checks if the month and day of the current date are before the month and day of the birthdate.
RIGHT("1967-06-08", 5)) -- Extracts the month and day from the birthdate.
as age; -- Alias for the calculated age.

Explanation:

  • YEAR(CURRENT_TIMESTAMP) retrieves the current year from the current timestamp.
  • YEAR("1967-06-08") retrieves the year from the given birthdate '1967-06-08'.
  • (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT("1967-06-08", 5)) compares the month and day of the current date with the month and day of the birthdate to determine if the birthday has already occurred in the current year.
  • The difference between the current year and the birth year is adjusted based on whether the birthday has already occurred in the current year.
  • This calculation gives the correct age of the person, considering both the year difference and whether the birthday has already passed in the current year.
  • The result is displayed as 'age'.

Sample Output:

age
50

 

MySQL Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous:Write a MySQL query to get the last day of the current year.
Next:Write a MySQL query to get the current date in the spacific format.

What is the difficulty level of this exercise?



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/mysql-exercises/date-time-exercises/write-a-query-to-calculate-the-age-in-year.php