Как измерить интервал времени из двух отдельных времени с postgresql - PullRequest
0 голосов
/ 28 марта 2019

У меня есть несколько полей столбца соответственно pid (первичный ключ), login, logout, interval_time, today (current_date)

Типы данных для входа и выхода (время без часового пояса)

Здесь данные для входа в систему и выхода из системы, такие как 10:00:45, 12:45:12, 07: 32:02 (не как 14:32:12, 18:65:78, 23:51:00)

Так что я не могу понять, когда ночь или день, или вечера или утра.

If someone login = 07:00:00 and logout = 11:00:00
again he/she login = 01:00:00
that means here interval_time will be 2 hours. Exactly how much time he/she was inactive.

Я написал триггер

create or replace function interval_time()
returns trigger as
$BODY$
    begin
        if new.login or new.logout then
            if new.login then
                update employee set interval_time = new.logout::time - login::time where pid = new.pid; -- employee is my table name;
                return new;
            end if;
        end if;
    end;
$BODY$
language plpgsql;

этот триггер просто пример, он не работает.

create trigger employee_changer
before update
on employee
for each row
execute procedure employee_change()

Please let me know if you have any question.
Any help would be appreciated. 
Thanks.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...