Introduction to PostgreSQL date Data Type

In PostgreSQL, date is a data type used to store date values. It stores date values as text in the format YYYY-MM-DD, supports a wide range of date input formats, and provides many date functions and operators, making it very convenient to work with dates in the database.


In PostgreSQL, the date data type is used with the following syntax:


Use Cases

The date data type is commonly used for storing and manipulating date information in the database. It is well-suited for storing information such as birthdays, membership expiration dates, and task deadlines. Using the date data type, it is easy to calculate time differences, query records within a certain time range, and perform other date-related operations.


Example 1: Creating a table and inserting data

Here is an example of creating a students table and inserting data, which includes three columns: id, name, and birthdate. The birthdate column uses the date data type to store the students’ birthdate information.

CREATE TABLE students (
  name VARCHAR(100),
  birthdate DATE

INSERT INTO students (name, birthdate) VALUES
  ('Alice', '1995-03-15'),
  ('Bob', '1998-05-20'),
  ('Charlie', '2000-09-01'),
  ('Dave', '1993-12-25');

Example 2: Querying student information using date functions

Here is an example of querying student information using date functions. This example demonstrates how to calculate the age of students and sort them by birthdate from earliest to latest.

SELECT name, birthdate, AGE(NOW(), birthdate) AS age
FROM students
ORDER BY birthdate;

This query will return the following results:

 name   |  birthdate  | age
 Dave     | 1993-12-25  | 28 years
 Alice    | 1995-03-15  | 27 years
 Bob      | 1998-05-20  | 23 years
 Charlie  | 2000-09-01  | 21 years


The date data type is a very useful data type in PostgreSQL, providing a wide range of date functions and operators that make working with dates in the database very convenient. In practical applications, the date data type can be used effectively to store and manipulate date information based on specific requirements.