Witam. Mam parę pytań odnosnie czasu i dat w w SQL. Obecnie operuję programie MySQL Workbench. Już na wstepie chciałbym zaznaczyc, iż jestem nowicjuszem jeśli chodzi o SQL-a.
- Stworzyłem tabelę przedstawiającą czas pracy jednego pracownika w poszczególnych dniach.
create table Work_time(
id int primary key,
day_of_week varchar(20),
date_date date,
start time,
finish time);
id day_of_week date_date start finish
1 monday 2014-07-07 0900 1700
... ... ... ... ...
Już przy tworzeniu tabeli, zastanawiałem się jaki ustawic format kolumny start i finish, aby potem można było łatwo zliczyc czas pracy np. w jednym dniu, bądź w całym miesiącu. Gdy użyłem float, nie wyswietlało mi godziny w odpowiednim formacie (hhss) czemu się nie dziwie, dlatego też zdecydowałem się na time. I w tym momencie dochodzimy do sedna sprawy. W jaki sposób można obliczyć czas pracy w jednym dniu, we wszystkie piątki lub zsumować go z całego miesiąca? Próbowałem robic to funkcją timestamp wzorując się na dokumentacji
select timestamp (start,finish) from Work_time where id = 1;
, jednak nic z tego nie wyszło.
Proszę o pomoc
Udało mi się zrobic coś takiego.
select SUM(hour(finish-start)) as czas
from Work_time;
Na ile jest to poprawne?