powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Работа с временем в Postgres
7 сообщений из 7, страница 1 из 1
Работа с временем в Postgres
    #34190325
postuser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли и как, если возможно, получить из интервала времени кол-ва секунд (часов, месяцев итд)? Например, что-то типа
Код: plaintext
SELECT кол-во_сек('2006-12-01 00:10:00','2006-12-01 00:00:00')
Result=600 или нужно парсить в программе и переводить?
...
Рейтинг: 0 / 0
Работа с временем в Postgres
    #34190339
postuser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
file:///usr/local/pgsql/doc/html/functions-datetime.html - там решения "в лоб" не нашел.
...
Рейтинг: 0 / 0
Работа с временем в Postgres
    #34190510
BlackDan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Один из вариантов сделать что-то типа подобного запроса.
Код: plaintext
1.
2.
3.
4.
5.
SELECT 
  EXTRACT('days' from ddate) *  24  *  60  *  60  + 
  EXTRACT('hours' from ddate) *  60  *  60  + 
  EXTRACT('minutes' from ddate) *  60  + 
  EXTRACT('seconds' from ddate) AS seconds
  FROM (SELECT '2006-12-01 00:10:00'::timestamp - '2006-12-01 00:00:00' AS ddate) AS tbl
...
Рейтинг: 0 / 0
Работа с временем в Postgres
    #34190644
Serik.Akhmetov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
-- Function: interval_to_sec("interval")
-- DROP FUNCTION interval_to_sec("interval");
CREATE OR REPLACE FUNCTION interval_to_sec("interval")
  RETURNS int4 AS
$BODY$
  select (date_part('day',$ 1 ) *  24  *  60  *  60  + -- кол-во дней
          date_part('hour',$ 1 ) *  60  *  60  +     -- кол-во часов
          date_part('minute',$ 1 ) *  60     +     -- кол-во минут
          date_part('second',$ 1 ))::int4;       -- кол-во секунд
$BODY$
  LANGUAGE 'sql' VOLATILE;
ALTER FUNCTION interval_to_sec("interval") OWNER TO postgres;
COMMENT ON FUNCTION interval_to_sec("interval") IS 'преобразование interval в секунды';
...
Рейтинг: 0 / 0
Работа с временем в Postgres
    #34190738
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
select
  extract(epoch from date1 - date2) as secs,
  extract(epoch from date1 - date2) /  60  as mins,
  extract(epoch from date1 - date2) / ( 60  *  60 ) as hours,
  extract(epoch from date1 - date2) / ( 60  *  60  *  24 ) as days;
как вариант
...
Рейтинг: 0 / 0
Работа с временем в Postgres
    #34190749
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9.9.1. EXTRACT, date_part
...
epoch
For date and timestamp values, the number of seconds since 1970-01-01 00:00:00-00 (can be negative); for interval values, the total number of seconds in the interval
...
Рейтинг: 0 / 0
Работа с временем в Postgres
    #34192336
BlackDan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
st_serg9.9.1. EXTRACT, date_part
...
epoch
For date and timestamp values, the number of seconds since 1970-01-01 00:00:00-00 (can be negative); for interval values, the total number of seconds in the interval
слона и не заметил :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Работа с временем в Postgres
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]