• 22.08.2025, 14:43
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

cuto8

Full Member

SQL-Uhrzeitproblem

Donnerstag, 18. August 2011, 09:23

Mahlzeit!

Ausgangsszenario:
Ich habe eine Tabelle mit folgenden Datensätzen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
A                       B     C
1754-01-01 16:55:15.340 69982 19639
1754-01-01 17:02:09.310 69575 19647
1754-01-01 17:03:44.187 70021 19648
1754-01-01 17:27:53.080 70065 19678
1754-01-01 17:30:42.190 70075 19679
1754-01-01 17:36:25.563 70094 19688
1754-01-01 17:43:18.750 70168 19703
1754-01-01 17:51:40.470 70209 19730
1754-01-01 18:09:39.570 70256 19749
1754-01-01 18:14:23.930 70257 19751
1754-01-01 18:48:24.367 70318 19760
1754-01-01 19:00:23.117 70334 19766
1754-01-01 19:18:20.243 70346 19770


In einer View würde ich gerne eine zusätzliche berechnete Spalte einfügen, die die Uhrzeit aus Spalte A auf die vorhergehende halbe Stunde abrundet. Das gewünschte Ergebnis ist also folgendes:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
A                       B     C     D
1754-01-01 16:55:15.340 69982 19639 16:30
1754-01-01 17:02:09.310 69575 19647 17:00
1754-01-01 17:03:44.187 70021 19648 17:00
1754-01-01 17:27:53.080 70065 19678 17:00
1754-01-01 17:30:42.190 70075 19679 17:30
1754-01-01 17:36:25.563 70094 19688 17:30
1754-01-01 17:43:18.750 70168 19703 17:30
1754-01-01 17:51:40.470 70209 19730 17:30
1754-01-01 18:09:39.570 70256 19749 18:00
1754-01-01 18:14:23.930 70257 19751 18:00
1754-01-01 18:48:24.367 70318 19760 18:30
1754-01-01 19:00:23.117 70334 19766 19:00
1754-01-01 19:18:20.243 70346 19770 19:00


Irgendwie habe ich da gerade ein Brett vorm Kopf... Kann mir jemand weiterhelfen?

Y0Gi

God

Donnerstag, 18. August 2011, 21:49

Fixe Idee:

MySQL-Abfrage(n)

1
SELECT DATE_SUB(TO_SECONDS('2011-08-18 21:41:37'), INTERVAL MOD(TO_SECONDS('2011-08-18 21:41:37'), 1800) UNIT)

Wäre schön, den Sekundenwert nur einmal berechnen zu müssen, aber ich bin grad nicht im Bilde, ob und wie das mit SQL geht.

MySQL:
- Modulo
- Datumsfunktionen

cuto8

Full Member

Freitag, 19. August 2011, 12:40

Danke, ich habe es in der Zwischenzeit aber auf die hässliche Art und Weise mit einem CASE gelöst. Trotzdem sollte man meinen, das sowas eleganter funktioniert...