Hilfe! Datenbanken : Datum und Zeitberechnung?

...komplette Frage anzeigen

2 Antworten

Also meine Datenbank, das ist eine professionelle (IBM DB2), speichert gar kein Datum, sondern ein Nummernäquivalent dazu. Dieses besteht aus den ab 1 fortlaufend durchnummerierten Tagen, beginnend mit 01.01.0001 bis 31.12.9999. Bei der Ausgabe werden diese dann gemäß dem gregoreanischen Kalender (Berücksichtigung der Schaltjahre) in eines der vom Anwender festgelegten Datumsformate umgewandelt. Umgekehrt wird bei der Eingabe des Datums daraus das Tagesäquivalent ermittelt und gespeichert oder auch als Abfragewert verwendet. So ist es auch kein Problem für den Anwender, ein Datum um einige Tage zu erhöhen

... SET DAYS(datum) = DAYS(datum) + 1

oder eine Differenz zwischen zwei Kalendertagen zu bilden:

((DAYS(datum1)) - (DAYS(datum2)))

Neben den Tagen kann man auch mit Jahren und Monaten rechnen:

YEAR(datum), MONTH(datum)

Das Datenfeld muss natürlich vom Typ DATE sein, sonst geht das nicht. Dass für die Datenbank das Sortieren nach Datum auf diese Weise sehr einfach ist, leuchtet ein. Vor allem unabhängig davon, welche formale Darstellung man gewählt hat. Diese kann man auch beliebig ändern, ohne dass die Datenbank die Datenfelder ändern muss.

In den 70-ger Jahren , als es noch keine Datenbanken gab, habe ich mir selbst so ein System programmiert. Es umfasste ca 65000 Tage und hat in den Dateien nur 2 Byte belegt, was damals viel bedeutet hat. Mit meiner Datumsrechnung habe ich beim Programmieren immer wieder meine Mitbewerber ausstechen können. Insofern ist die heute in den Datenbanken verwendete Technik zumindest für mich nicht neu, nur eine Bestätigung dafür, dass ich damit richtig lag.

Antwort bewerten Vielen Dank für Deine Bewertung

ann hast du nicht gut gegoogelt...

mysql z.b. Bietet sämtliche funktionen um datums berechnungen anzustellen.

addieren, subtrahieren, differenzen umwandlungen ect.

Antwort bewerten Vielen Dank für Deine Bewertung
Maroc97 08.03.2016, 16:51

Es wäre lieb wenn du mir ein Link senden würdest und ist das gut erklärt? Ich muss wie gesagt es sehr gut erklären können ;)

0
Maroc97 08.03.2016, 17:02
@Kiboman

Dann erzähl das mal mein Fachlehrer haha .Wenn der ein Referat so will muss ich es halt machen.

0
Kiboman 08.03.2016, 17:42
@Maroc97

jetzt mal ehrlich, ich hab grade ernsthaft versucht nach zu denken was man erzählen soll, ich komme auf nicht mehr als ein paar sätze

das ist ein dämliches thema.

das datum wird in der datenbank gespeichert weil alle anderen daten auch gespeichert sind.

die berechnungs funktionen der daten bank machen mehr sinn als in einer hochsprache

-weil es kein konflikt mit der formatierung gibt

-weil die berechnungen in einem rutsch erfolgen,

in einer hochsprache müssen sie erst ausgelesen zerlegt und dann berechnet werden.

und weil sie es kann.

mehr fällt mir echt nicht ein.

die datenbank engine ist garnicht vorgegeben?

0

Was möchtest Du wissen?