Postgres 18 just shipped, and it’s already available on Neon. Deploy it in seconds and try the new features

PostgreSQL AGE() Function

Summary: in this tutorial, you will learn how to use the PostgreSQL AGE() function to calculate ages.

Introduction to PostgreSQL AGE() function

In business applications, you often have to calculate ages such as the ages of employees, and years of service of employees. In PostgreSQL, you can use the AGE() function to accomplish these tasks.

Here’s the basic syntax of the AGE() function:

AGE(timestamp,timestamp);

The AGE() function accepts two TIMESTAMP values. It subtracts the second argument from the first one and returns an interval as a result.

For example:

SELECT AGE('2017年01月01日','2011年06月24日');

Output:

age
-----------------------
 5 years 6 mons 7 days

If you want to use the current date as the first argument, you can use the following form of the AGE() function:

AGE(timestamp);

For example, if someone’s birth date is 2000年01月01日, and the current date is 2024年01月26日, their age would be:

SELECT
 current_date,
 AGE(timestamp '2000年01月01日');

Output:

current_date | age
--------------+------------------
 2024年01月26日 | 24 years 25 days
(1 row)

PostgreSQL AGE() function example

We’ll use the following rental table in the sample database:

[画像:PostgreSQL age Function: Rental Table Sample] The following example uses the AGE() function to retrieve the top 10 rentals that have the longest durations:

SELECT
 rental_id,
 customer_id,
 AGE(return_date, rental_date) AS duration
FROM
 rental
WHERE
 return_date IS NOT NULL
ORDER BY
 duration DESC
LIMIT
 10;

Output:

rental_id | customer_id | duration
-----------+-------------+-----------------
 2412 | 127 | 9 days 05:59:00
 14678 | 383 | 9 days 05:59:00
 13947 | 218 | 9 days 05:58:00
 14468 | 224 | 9 days 05:58:00
 7874 | 86 | 9 days 05:58:00
 11629 | 299 | 9 days 05:58:00
 5738 | 187 | 9 days 05:56:00
 9938 | 63 | 9 days 05:56:00
 12159 | 106 | 9 days 05:55:00
 3873 | 394 | 9 days 05:55:00
(10 rows)

In this example, we use the AGE() function to calculate the rental duration based on the values of the rental_date and return_date columns.

Summary

  • Use the PostgreSQL AGE() function to calculate ages.

Last updated on

Was this page helpful?
Thank you for your feedback!

AltStyle によって変換されたページ (->オリジナル) /