@caballero
Программист

Почему не работает интервал в PostgreSQL?

Есть таблица
CREATE TABLE "prodstageagenda" (
  "sta_id" int NOT NULL GENERATED BY DEFAULT AS IDENTITY,
   "startdate" timestamptz  NOT NULL,
  "enddate" timestamptz  NOT NULL,
    CONSTRAINT "PK_prodstageagenda"   PRIMARY KEY ("sta_id")
  
) ;

пытаюсь создать представление
CREATE    or replace
  
VIEW prodstageagenda_view
AS
    SELECT
 
      "a"."startdate" AS "startdate",
      "a"."enddate" AS "enddate",
 
     ( date_part('minute', "a"."startdate"::timezone, "a"."enddate"::timezone)   / 60) AS "hours"
 
    FROM ("prodstageagenda" "a"
     ;

Пишет ошибку
функция date_part(unknown, timestamp with time zone, timestamp with time zone) не существует SQL.sql 11 8

Что не так? может есть другой спосособ получить разницу в минутах?
  • Вопрос задан
  • 239 просмотров
Решения вопроса 1
@Akela_wolf
Extreme Programmer
Вычитаем одну дату из другой, получаем interval, с которым, затем, можно делать все что хочется.
Например вытащить EPOCH (т.е. число секунд в интервале)
SELECT t.*, EXTRACT(EPOCH FROM finished_at - started_at) / 60 as duration FROM test t


Весь пример
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы