Welche Datentyp für Zeitpunkt?

Sharky

Benutzer
Beiträge
5
Hallo zusammen,
ich bin ganz am Anfang meiner Überlegungen und benötige vielleicht ml einen Schubser.

Unsere Fachanwendung liefert Datenexport von Messwerten. Diese möchte ich in eine MySQL/ MariaDB überführen um sie später komfortabel auswerten zu können. Die Exporte sind csv-Dateien, die so aussehen:

01.01.2017 00:00:00;101,343101;
01.01.2017 00:00:03;66,910867;
01.01.2017 00:00:06;82,12547;


Es handelt sich um Messwerte, die alle 3 Minten erfasst werden, zu den angegebenen, festen Uhrzeiten. als erstes habe ich an DATETIME gedacht. Ist das klug?

Weiter habe ich noch eine Frage, wie man am besten umgehen kann, mit der Schaltstunde im März. Dann sehen die Einträge der Export-Datei so aus:

29.03.2020 01:59:57;80,3456;
29.03.2020 2A:00:00;65,3456;
29.03.2020 2A:00:03;67,5643;
[...]
29.03.2020 2B:00:00;54,6513;
29.03.2020 2B:00:03;67,8734;
[...]
29.03.2020 2B:59:57;45,8672;
29.03.2020 03:00:00;66,4569;


Am Schalttag im März hat der Tag bekanntlich 25 Stunden. Meine spezeiellen Fragen:
- Wie mit den Stundenangaben 2A und 2B umgehen?. Ich fürchte, hier muss ich eine spezielle Lösung finden
- Welche Zeit (UTC?) bietet sich hier an? Wo kann ich das in der DB-Tabelle festlegen, oder geht das in der DB?
- Aus dem Komma (,) im Messwert muss ich sicher einen Dezimalpunkt (.) machen, richtig?

Wie gesagt, ein paar Schubser wären gut. Bin für jeden Tipp dankbar!

Grüße
Digger
 
Werbung:
Am Schalttag im März hat der Tag bekanntlich 25 Stunden

Nein. 23.

Mit PostgreSQL kannst Du vernünftig arbeiten, hier die Umschalttage:

Code:
test=*# select '29.03.2020 01:00:00'::timestamp at time zone 'cet' + s * '10 minutes'::interval as maerz from generate_series(1,20) s;
         maerz         
------------------------
 2020-03-29 01:10:00+01
 2020-03-29 01:20:00+01
 2020-03-29 01:30:00+01
 2020-03-29 01:40:00+01
 2020-03-29 01:50:00+01
 2020-03-29 03:00:00+02
 2020-03-29 03:10:00+02
 2020-03-29 03:20:00+02
 2020-03-29 03:30:00+02
 2020-03-29 03:40:00+02
 2020-03-29 03:50:00+02
 2020-03-29 04:00:00+02
 2020-03-29 04:10:00+02
 2020-03-29 04:20:00+02
 2020-03-29 04:30:00+02
 2020-03-29 04:40:00+02
 2020-03-29 04:50:00+02
 2020-03-29 05:00:00+02
 2020-03-29 05:10:00+02
 2020-03-29 05:20:00+02
(20 rows)

test=*# select '25.10.2020 01:00:00'::timestamp at time zone 'cet' + s * '10 minutes'::interval as oktober from generate_series(1,20) s;
        oktober         
------------------------
 2020-10-25 02:10:00+02
 2020-10-25 02:20:00+02
 2020-10-25 02:30:00+02
 2020-10-25 02:40:00+02
 2020-10-25 02:50:00+02
 2020-10-25 02:00:00+01
 2020-10-25 02:10:00+01
 2020-10-25 02:20:00+01
 2020-10-25 02:30:00+01
 2020-10-25 02:40:00+01
 2020-10-25 02:50:00+01
 2020-10-25 03:00:00+01
 2020-10-25 03:10:00+01
 2020-10-25 03:20:00+01
 2020-10-25 03:30:00+01
 2020-10-25 03:40:00+01
 2020-10-25 03:50:00+01
 2020-10-25 04:00:00+01
 2020-10-25 04:10:00+01
 2020-10-25 04:20:00+01
(20 rows)


Und ja, aus Komma einen Punkt.
 
Hallo akretschmer,

danke für die Antwort!

Natürlich hat der Tag im Oktober eine Stunde mehr, nicht im März... (Oh Mann, liegt vielleicht an Corona? Nicht, das ich Corona habe, aber die Umstände eben...)

Dann müsste ich mir eine Postgres-DB einmal genauer ansehen. Da wir noch ganz am Anfang des Projektes sind, sind wir da noch flexibel.

Vielen Dank!
 
Werbung:
Zurück
Oben