Для того чтобы получить разницу между двумя датами или datetime(timestamp) в минутах в PostgreSQL, мы будем использовать простой символ разности (вычитания). Чтобы найти разницу между двумя датами в минутах в PostgreSQL, можно воспользоваться окольным путем. Мы также можем использовать функцию age() с эпохой. Давайте посмотрим на примере всех этих двух подходов. Мы также рассмотрим пример, как получить разницу между двумя датами или столбцами datetime(timestamp) в минутах таблицы PostgreSQL.
Разница между двумя datetime (timestamp) в минутах PostgreSQL с помощью простой разницы:
Символ Simple Difference используется для вычисления разницы между двумя датами в минутах (умножение на 1440), как показано ниже.
Пример 1:
SELECT round(abs('2024-04-01 09:12:00' :: date - '2020-04-14 09:12:00' :: date)*(1440),2) as minutes_diff;
Результат:

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

Для вычисления разницы между двумя столбцами даты в таблице PostgreSQL в минутах используется простой символ Difference, как показано ниже.
select *,round(abs(birthdaytime :: date - examdatetime :: date)*(24*60),2) as minutes_diff from student_detail2;
Мы привели два столбца даты к дате, затем нашли разницу и преобразовали ее в минуты, поэтому она будет округлена
Результат:

Разница между двумя датами (временными метками) в минутах PostgreSQL с помощью функции AGE():
В функции AGE() мы передаем две даты, по которым нужно вычислить разницу в датах, а также разделить результат на 60. Кроме того, мы будем использовать функцию date_part(), которая вычислит разницу между двумя датами в минутах в PostgreSQL.
Пример 1:
SELECT COALESCE(round(abs((EXTRACT(epoch from age('2024-04-01 09:12:00', '2020-04-14 09:12:00'))/60 )::INT),2)::int + DATE_PART('month', age('2024-04-01 09:12:00', '2020-04-14 09:12:00'))::int*0.474545 *24*60) as minutes_diff
Результат:

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

В функции EXTRACT() мы передадим два столбца дат, для которых нужно вычислить разницу в датах. Она использует функцию EPOCH вместе с функцией Age(), а также date_part(), которая вычислит разницу между двумя столбцами дат в минутах в PostgreSQL.
SELECT *,COALESCE(round(abs((EXTRACT(epoch from age(examdatetime::date, birthdaytime::date)) / 60)::INT),2)::int + DATE_PART('month', age(examdatetime::date, birthdaytime::date))::int*0.474545*24*60) as minutes_diff from student_detail2;
Мы вычислили разницу столбцов в минутах, поэтому результирующая таблица будет иметь вид.
Результат:
