Для того чтобы извлечь временную часть (часы, минуты и секунды) из datetime(timestamp) в PostgreSQL. Мы будем использовать функцию CAST() или :: (нотация CAST)
. Окольными путями мы также можем использовать функцию extract() для извлечения только временной части из даты в PostgreSQL. Рассмотрим пример всех трех подходов. Мы также рассмотрим пример извлечения временной части (часов, минут и секунд) из столбца datetime таблицы PostgreSQL.
Извлечение временной части из datetime(timestamp) с помощью функции CAST() PostgreSQL:
Мы будем передавать datetime в функцию cast и упомянем AS TIME, что позволит извлечь из datetime в PostgreSQL только временную часть.
Пример 1:
SELECT CAST('2024-02-24 15:30:45' AS TIME);
Результат:

Пример 2:
SELECT CAST('2024-02-24 15:30:45.791354' AS TIME);
Результат:

Извлечение временной части из столбца datetime таблицы PostgreSQL – функция CAST():
Мы будем использовать таблицу Student_detail для нашего примера, чтобы показать, как извлечь временную часть из столбца datetime в postgresql.
Student_detail:

Мы будем использовать функцию cast() со столбцом , а также ключевое слово AS TIME для извлечения времени из datetime (временной метки) в PostgreSQL.
select *, CAST(birthdaytime AS TIME) as birthtime_only from student_detail
Столбец “birthdaytime” (datetime) используется для извлечения только временной части и сохраняется в новом столбце с именем “birthtime_only”.
Результат:

Извлечение временной части из datetime(timestamp) с помощью CAST Notation (::
) PostgreSQL:
Мы будем передавать datetime вместе с нотацией cast (::
) ::time, что позволит извлечь только временную часть из datetime в PostgreSQL.
Пример 1:
SELECT '2024-02-24 15:30:45'::time AS extracted_time;
Результат:

Пример 2:
SELECT '2024-02-24 15:30:45.791354'::time AS extracted_time;
Результат:

Извлечение временной части из столбца datetime таблицы PostgreSQL:
Мы будем использовать таблицу Student_detail для нашего примера, чтобы показать, как извлечь временную часть из столбца datetime в postgresql.
Student_detail:

Для извлечения времени из столбца datetime (timestamp) в PostgreSQL мы будем использовать кастомную нотацию (::)
вместе со столбцом ,.
SELECT *,birthdaytime::timestamp::time AS birthtime_only FROM student_detail;
Столбец “birthdaytime” (datetime) используется для извлечения только временной части и хранится в новом столбце с именем “birthtime_only”.
Результат:

Извлечение временной части из datetime(timestamp) PostgreSQL:
Это обходной путь. Мы будем извлекать часы, минуты и секунды из Timestamp (datetime) и конкатенировать их, чтобы создать только временную часть.
Пример 1:
SELECTn EXTRACT(HOUR FROM '2024-02-24 15:30:45'::timestamp)::text || ':' || EXTRACT(MINUTE FROM '2024-02-24 15:30:45'::timestamp)::text || ':' || EXTRACT(SECOND FROM '2024-02-24 15:30:45'::timestamp)::text AS formatted_time;
Результат:

Извлечение временной части из столбца datetime таблицы PostgreSQL:
Мы будем использовать таблицу Student_detail для нашего примера, чтобы показать, как извлечь временную часть из столбца datetime в PostgreSQL.
Student_detail:

Мы будем извлекать часы, минуты и секунды из столбца birthdaytime и объединять их, чтобы создать только часть Time из столбца datetime (timestamp) в PostgreSQL.
select *, EXTRACT(HOUR FROM birthdaytime::timestamp)::text || ':' || EXTRACT(MINUTE FROM birthdaytime::timestamp)::text || ':' || EXTRACT(SECOND FROM birthdaytime::timestamp)::text AS formatted_time from student_detail
Результат:
