Для того чтобы получить разницу между двумя датами или datetime(timestamp) в днях в PostgreSQL, мы будем использовать простой символ разности (вычитание). Окольным путем для нахождения разницы между двумя датами в PostgreSQL можно также использовать функцию extract(). Давайте посмотрим на примере всех этих двух подходов. Мы также рассмотрим пример, как получить разницу между двумя датами или столбцом datetime(timestamp) в таблице days PostgreSQL.

Разница между двумя датами в днях PostgreSQL с помощью простой разницы:

Символ Simple Difference используется для вычисления разницы между двумя датами в днях, как показано ниже.

Пример 1:

SELECT '2024-02-28'::date - '2024-02-24'::date AS date_difference_in_days

Результат:

Разница между двумя датами в днях PostgreSQL с помощью функции EXTRACT() :

В функции EXTRACT() мы передаем две даты, по которым нужно вычислить разницу в датах, в качестве аргумента она также принимает DAY, который вычислит разницу между двумя датами в днях в PostgreSQL.

Пример 1:

SELECT EXTRACT(DAY FROM '2024-02-28 15:30:00'::timestamp - '2024-02-24 10:45:00'::timestamp) AS date_difference_in_days;

Результат:

Разница между двумя столбцами даты в днях PostgreSQL:

Метод 1

Мы будем использовать таблицу Student_detail2 в качестве примера, чтобы показать, как найти разницу между двумя столбцами даты в днях в PostgreSQL.

Student_detail2:

Для вычисления разницы между двумя столбцами даты в таблице PostgreSQL в днях используется символ Simple Difference, как показано ниже.

SELECT *, examdatetime::date - birthdaytime::date As date_diff_in_days from Student_detail2

Мы привели два столбца даты к дате, а затем нашли разницу, поэтому она будет округлена.

Результат:

Метод 2

Чтобы найти разницу между двумя столбцами даты в датах и часах, мы использовали следующий метод

SELECT *, examdatetime::timestamp - birthdaytime::timestamp As date_diff_in_days from Student_detail2

Мы привели два столбца данных к временной метке, а затем нашли разницу, поэтому результирующий столбец для нахождения разницы дат в днях будет содержать количество дней, а затем разницу в часах, как показано ниже

Результат:

Разница между двумя столбцами даты в днях PostgreSQL с помощью EXTRACT() :

Мы будем использовать таблицу Student_detail2 для нашего примера, чтобы показать, как найти разницу между двумя столбцами даты в днях в PostgreSQL.

Student_detail2:

В функции EXTRACT() мы передадим два столбца дат, для которых нужно вычислить разницу в датах. В качестве аргумента она также принимает DAY, который вычислит разницу между двумя столбцами дат в днях в PostgreSQL.

SELECT *,EXTRACT(DAY FROM examdatetime::timestamp -  birthdaytime::timestamp) AS date_diff_in_days from Student_detail2;

Мы привели два столбца даты к временной метке, а затем нашли разницу, поэтому в результате получим таблицу.

Результат: