Hallo ins Forum,
wie speichert MariaDB eigentlich intern Daten des Typs DATE ab? Die Frage resultiert aus folgendem Sachverhalt:
Angenommen, ich habe folgende Tabelle:
Jetzt führe ich diese Abfrage durch:
Das ist mein Ergebnis:
Die einfache Subtraktion führt in der ersten Zeile zum richtigen Ergebnis, in der zweiten Zeile aber nicht mehr.
Die Prüfspalte liefert für die zweite Zeile das korrekte Ergebnis, nämlich 547.
In Excel kann ich ja einfach Datumsangaben voneinander abziehen, da das Programm Datumsangaben als Tage seit dem 01.01.1900 speichert.
Ich kann nur vermuten, dass MariaDB Datumsangaben anders behandelt und daher die Subtraktion nicht das gewünschte Ergebnis liefert (zumindest nicht in der zweiten Zeile).
Kann mir jemand helfen?
Grüße
zachy
wie speichert MariaDB eigentlich intern Daten des Typs DATE ab? Die Frage resultiert aus folgendem Sachverhalt:
Angenommen, ich habe folgende Tabelle:
Startdatum | Enddatum |
---|---|
01.01.2022 | 10.01.2022 |
01.06.2016 | 30.11.2017 |
Jetzt führe ich diese Abfrage durch:
SQL:
SELECT
*,
Enddatum - Startdatum AS "Einfache Subtraktion",
DATEDIFF(Enddatum, Startdatum) AS "Prüfspalte"
FROM tblDatumsangaben;
Das ist mein Ergebnis:
Startdatum | Enddatum | Einfache Subtraktion | Prüfspalte |
---|---|---|---|
2022-01-01 | 2022-01-10 | 9 | 9 |
2016-06-01 | 2017-11-30 | 10529 | 547 |
Die einfache Subtraktion führt in der ersten Zeile zum richtigen Ergebnis, in der zweiten Zeile aber nicht mehr.
Die Prüfspalte liefert für die zweite Zeile das korrekte Ergebnis, nämlich 547.
In Excel kann ich ja einfach Datumsangaben voneinander abziehen, da das Programm Datumsangaben als Tage seit dem 01.01.1900 speichert.
Ich kann nur vermuten, dass MariaDB Datumsangaben anders behandelt und daher die Subtraktion nicht das gewünschte Ergebnis liefert (zumindest nicht in der zweiten Zeile).
Kann mir jemand helfen?
Grüße
zachy