AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi select DateTime jede halbe stunde
Thema durchsuchen
Ansicht
Themen-Optionen

select DateTime jede halbe stunde

Ein Thema von 00000110001 · begonnen am 16. Nov 2009 · letzter Beitrag vom 17. Nov 2009
Antwort Antwort
00000110001

Registriert seit: 11. Dez 2007
13 Beiträge
 
#1

select DateTime jede halbe stunde

  Alt 16. Nov 2009, 16:04
Datenbank: Firebird • Version: 2.1 • Zugriff über: IB
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.
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#2

Re: select DateTime jede halbe stunde

  Alt 16. Nov 2009, 16:19
Timer mit entsprechendem Interval und im OnTimer-Event Daten abfragen.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

Re: select DateTime jede halbe stunde

  Alt 16. Nov 2009, 16:24
Ich glaube, es geht wohl eher um halbstündige Zeiträume im Abfrageergebnis
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#4

Re: select DateTime jede halbe stunde

  Alt 16. Nov 2009, 16:29
Zitat von DeddyH:
Ich glaube, es geht wohl eher um halbstündige Zeiträume im Abfrageergebnis
Das könnte auch sein...
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: select DateTime jede halbe stunde

  Alt 16. Nov 2009, 16:29
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
  Mit Zitat antworten Zitat
00000110001

Registriert seit: 11. Dez 2007
13 Beiträge
 
#6

Re: select DateTime jede halbe stunde

  Alt 16. Nov 2009, 16:30
Vielleicht habe ich das nicht ganz richtig erklärt.
Genau das brauche ich.
  Mit Zitat antworten Zitat
00000110001

Registriert seit: 11. Dez 2007
13 Beiträge
 
#7

Re: select DateTime jede halbe stunde

  Alt 16. Nov 2009, 16:46
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)"?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#8

Re: select DateTime jede halbe stunde

  Alt 16. Nov 2009, 16:50
Keine Ahnung, ich hab's mit MySQL getestet - das hätte ich vll. dazu schreiben sollen


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 15*3600 + 23*60 + 12 = 55392
  Mit Zitat antworten Zitat
00000110001

Registriert seit: 11. Dez 2007
13 Beiträge
 
#9

Re: select DateTime jede halbe stunde

  Alt 17. Nov 2009, 13:50
Ich hab's gemacht
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 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