Przechowywanie godzin i minut bez daty w bazie danych Oracle

0

Witam mam problem gdyż nie wiem jak powinienem przechowywać czas w swojej bazie. Data jest mi kompletnie niepotrzebna więc może da się to jakoś zrobić bez daty. W internecie pisza o różnych sposobach np. dodawanie aktualnej daty lub jakiejs konkretnej we wszystkich rekordach i wydobywaniu później samego czasu. Z góry dzięki za pomoc

0
cinek181992 napisał(a):

Witam mam problem gdyż nie wiem jak powinienem przechowywać czas w swojej bazie. Data jest mi kompletnie niepotrzebna więc może da się to jakoś zrobić bez daty. W internecie pisza o różnych sposobach np. dodawanie aktualnej daty lub jakiejs konkretnej we wszystkich rekordach i wydobywaniu później samego czasu. Z góry dzięki za pomoc

Co to znaczy "przechowywać czas" w bazie danych? Chcesz przechowywać okres czasu np. 35 minut? Jeśli tak, to przyjrzyj się typom danych INTERVAL (np. http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements001.htm#SQLRF0021)

Jeśli przez "przechowywani czasu" rozumiesz coś innego, to doprecyzuj o co chodzi.

0

tak, chodzi o np 18:38. Mam rozkład jazdy autobusów i mi nie jest potrzebna data

0
cinek181992 napisał(a):

tak, chodzi o np 18:38. Mam rozkład jazdy autobusów i mi nie jest potrzebna data

W takim przypadku VARCHAR2(5) nie wystarczy? ;-) Albo liczba minut od północy? Albo INTERVAL DAY (0) TO SECOND(0) ?
To w jaki sposób przechowasz będzie skutkowało różnymi sposobami konwersji/porównywania/weryfikacji poprawności danej wartości.

Co chcesz robić z tą wartością (pomijając przechowywanie)?

A może po prostu jako DATE i prosta konwersja?

select to_date('1970-01-01 23:59:00','YYYY-MM-DD HH24:MI:SS') from dual;

select to_char(sysdate,'HH24:MI') tylkoCzas from dual;

zamiana znacznika [code] na <code> - furious programming

0
godzina*60 + minuta
0

Przechowuj jako CHAR(4) - np. 1848 (czyli 18:48).
Będzie można porównywać.
Do wyświetlenia trzeba będzie przeformatować, ale nie marnuje miejsca na dwukropek.
Oczywiście godzina po północy musi być z wiodącymi zerami: "0048".

1 użytkowników online, w tym zalogowanych: 0, gości: 1