Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi select DateTime jede halbe stunde (https://www.delphipraxis.net/143453-select-datetime-jede-halbe-stunde.html)

00000110001 16. Nov 2009 15:04

Datenbank: Firebird • Version: 2.1 • Zugriff über: IB

select DateTime jede halbe stunde
 
Hallo,

ich will aus einer Tabelle Daten jede halbe Stunde haben.
In der Tabelle habe ich DateTime-Feld wie z.B. 16.11.2009 10.20.35
Und es sollte am Ende so aussehen:

ZEIT SUMME

10:00-10:29 3
10:30-10:59 4
11:00-11:29 7
11:30-11:59 2
...

Für jede Hilfe bin ich dankbar.

divBy0 16. Nov 2009 15:19

Re: select DateTime jede halbe stunde
 
Timer mit entsprechendem Interval und im OnTimer-Event Daten abfragen.

DeddyH 16. Nov 2009 15:24

Re: select DateTime jede halbe stunde
 
Ich glaube, es geht wohl eher um halbstündige Zeiträume im Abfrageergebnis ;)

divBy0 16. Nov 2009 15:29

Re: select DateTime jede halbe stunde
 
Zitat:

Zitat von DeddyH
Ich glaube, es geht wohl eher um halbstündige Zeiträume im Abfrageergebnis ;)

Das könnte auch sein... :mrgreen:

jfheins 16. Nov 2009 15:29

Re: select DateTime jede halbe stunde
 
Ich würde es so machen:
SQL-Code:
SELECT
TIME_TO_SEC(TIME(zeit)) DIV 1800 t,
count(*)
FROM dp.test
group by t
Getestet und sollte funktionieren ;)

Den Zeitraum mit Anfangs- und Endzeit auszuformulieren ist dann ja nur noch Eye-Candy ;)

00000110001 16. Nov 2009 15:30

Re: select DateTime jede halbe stunde
 
Vielleicht habe ich das nicht ganz richtig erklärt.
Genau das brauche ich.

00000110001 16. Nov 2009 15:46

Re: select DateTime jede halbe stunde
 
Antwort von "jfheins" ist inzwischen gekommen.
Er war schneller als ich :)
Ok, aber ist es möglich DIV so direkt in FIREBIRD zu verwenden?
Und könnte "TIME_TO_SEC" so aussehen "extract(second from a.DatumZeit)"?

jfheins 16. Nov 2009 15:50

Re: select DateTime jede halbe stunde
 
Keine Ahnung, ich hab's mit MySQL getestet - das hätte ich vll. dazu schreiben sollen :mrgreen:


Zitat:

Zitat von 00000110001
Ok, aber ist es möglich DIV so direkt in FIREBIRD zu verwenden?

Da müsste es bestimmt was geben. Ansonsten TRUNC(a/b)
Zitat:

Und könnte "TIME_TO_SEC" so aussehen "extract(second from a.DatumZeit)"?
Neeee, TIME_TO_SEC wandelt den zeitanteil komplett in Sekunden um, also z.B. 15:23:12 :arrow: 15*3600 + 23*60 + 12 = 55392

00000110001 17. Nov 2009 12:50

Re: select DateTime jede halbe stunde
 
Ich hab's gemacht :-D
CASE war etwas, was ich ausgenutzt habe.
Die Lösung sieht so aus:

select
case
when (extract(minute from DatumZeit)>=0 and extract(minute from DatumZeit)<30)
then xxx
else yyy
end
from Tabelle


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz