AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datum von bis vergleichen

Ein Thema von DelTurbo · begonnen am 14. Sep 2017 · letzter Beitrag vom 14. Sep 2017
Antwort Antwort
Seite 1 von 2  1 2      
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#1

Datum von bis vergleichen

  Alt 14. Sep 2017, 13:34
Datenbank: MySql • Version: 5 • Zugriff über: Console
Hi,
ich sitze nun schon länger an dem Problem und verstehe es einfach nicht. Ich habe eine Tabelle mit unix_timestamps die ein ganzes Jahr abdecken. Wie man am Ergebnis sieht pro Datensatz immer von_unix bis bis_unix.

Da das Jahr egal ist, ist die Tabelle von 2012. Also nicht wundern. Ich müsste nur z.b. 17.10 14:13 abfragen. Das versuche ich so....

Code:
SELECT id,from_unixtime(von_unix),von_unix,FROM_UNIXTIME(bis_unix),bis_unix FROM test_table WHERE (unix_timestamp('2012-10-17 14:13') BETWEEN von_unix and bis_unix);
Es klappt soweit, allerdings wird nur das Datum beachtet. Das verstehe ich einfach nicht. Das ist das Ergebnis.

Code:
351   2012-10-12 17:17:00   1350055020   2012-10-23 18:18:00   1351009080
352   2012-10-12 18:18:00   1350058680   2012-10-23 19:19:00   1351012740
353   2012-10-12 19:19:00   1350062340   2012-10-23 21:21:00   1351020060
354   2012-10-12 21:21:00   1350069660   2012-10-23 23:23:00   1351027380
355   2012-10-12 23:23:00   1350076980   2012-10-23 02:02:00   1350950520
356   2012-10-12 02:02:00   1350000120   2012-10-23 05:05:00   1350961500
357   2012-10-12 05:05:00   1350011100   2012-10-23 08:08:00   1350972480
358   2012-10-12 08:08:00   1350022080   2012-10-23 10:10:00   1350979800
359   2012-10-12 10:10:00   1350029400   2012-10-23 13:13:00   1350990780
360   2012-10-12 13:13:00   1350040380   2012-10-23 15:15:00   1350998100
361   2012-10-12 15:15:00   1350047700   2012-10-23 16:16:00   1351001760
362   2012-10-12 16:16:00   1350051360   2012-10-23 17:17:00   1351005420
Nun die frage. Was mache ich Falsch??? Ich finde einfach nichts darüber.

Vielen dank im Voraus
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datum von bis vergleichen

  Alt 14. Sep 2017, 13:44
Was willst Du den genau Abfragen? Wie meinst Du das mit der Urzeit?
Markus Kinzler
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#3

AW: Datum von bis vergleichen

  Alt 14. Sep 2017, 13:58
Hi,
ich möchte die ID haben wo Datum/Uhrzeit dazwischen ist.
In der Tabelle stehen ja immer Datum/Uhrzeiten von bis. Da kommt nichts doppelt vor.
Das Ergebnis dürfte ja nur eine ID sein. Ich habe die anderen Sachen nur mal mit ausgeben um es hier besser erklären zu können.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Datum von bis vergleichen

  Alt 14. Sep 2017, 14:03
Du fragst aber alle Datensätze ab, in denen dein Datum in der Zeitspanne liegt.
Markus Kinzler
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#5

AW: Datum von bis vergleichen

  Alt 14. Sep 2017, 14:05
Je nachdem wie viele Einträge du in dieser Tabelle hast würde ich sie einfach alle auslesen und den Vergleich mit Delphi-Code bewältigen und nicht mit irgendwelchen kryptischen und unverständlichen SQL-Statements.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Datum von bis vergleichen

  Alt 14. Sep 2017, 14:17
Ich Verstehe immer noch nicht, was Du eigentlich abfrgen willst.
In der datenbank befinden sich Zeitspannen. Du hast ein Datum. Sollen Datum/Zeit unabhängig voneinander Überprüft werden? Oder Nur Zeit unabhängig vom Datum? Was ist hier eigentlich gespeichert? Wirklich Datumswerte?
Markus Kinzler
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
380 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Datum von bis vergleichen

  Alt 14. Sep 2017, 14:20
Code:
SELECT id,from_unixtime(von_unix),von_unix,FROM_UNIXTIME(bis_unix),bis_unix FROM test_table WHERE (unix_timestamp('2012-10-17 14:13') BETWEEN von_unix and bis_unix);
Fehlen da nicht einfach noch die Sekunden?
Also:

SELECT id,from_unixtime(von_unix),von_unix,FROM_UNIXTIME( bis_unix),bis_unix FROM test_table WHERE (unix_timestamp('2012-10-17 14:13:00') BETWEEN von_unix and bis_unix);
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#8

AW: Datum von bis vergleichen

  Alt 14. Sep 2017, 14:21
@mkinzler

Wenn sein Datum 2012-10-12 07:12:56 ist, dann würde das Resultat die fett markierte Zeile sein - ich denke das ist was er will

Zitat:
351 2012-10-12 17:17:00 1350055020 2012-10-23 18:18:00 1351009080
352 2012-10-12 18:18:00 1350058680 2012-10-23 19:19:00 1351012740
353 2012-10-12 19:19:00 1350062340 2012-10-23 21:21:00 1351020060
354 2012-10-12 21:21:00 1350069660 2012-10-23 23:23:00 1351027380
355 2012-10-12 23:23:00 1350076980 2012-10-23 02:02:00 1350950520
356 2012-10-12 02:02:00 1350000120 2012-10-23 05:05:00 1350961500
357 2012-10-12 05:05:00 1350011100 2012-10-23 08:08:00 1350972480
358 2012-10-12 08:08:00 1350022080 2012-10-23 10:10:00 1350979800
359 2012-10-12 10:10:00 1350029400 2012-10-23 13:13:00 1350990780
360 2012-10-12 13:13:00 1350040380 2012-10-23 15:15:00 1350998100
361 2012-10-12 15:15:00 1350047700 2012-10-23 16:16:00 1351001760
362 2012-10-12 16:16:00 1350051360 2012-10-23 17:17:00 1351005420
Ich bin noch immer dafür den SQL-Mist wegzulassen und alles in Delphi auszuwerten.
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#9

AW: Datum von bis vergleichen

  Alt 14. Sep 2017, 14:26
Wenn man die Sekunden weg lässt sind die Automatisch 00.

In dem UnixTimstamp müssten doch Stunde und Minute drin sein, oder irre ich mich?

Auf jeden fall habe ich das nun so gelöst. Ich dachte es gibt was "eleganteres".

Code:
SET @Zeit = '2012-01-17 14:14';
SELECT * FROM aszendenten WHERE (unix_timestamp(@Zeit) BETWEEN von_unix and bis_unix) AND
(HOUR(@Zeit) BETWEEN HOUR(FROM_UNIXTIME(von_unix)) AND HOUR(FROM_UNIXTIME(bis_unix))) AND
(MINUTE(@Zeit) BETWEEN MINUTE(FROM_UNIXTIME(von_unix)) AND MINUTE(FROM_UNIXTIME(bis_unix)));
Gruß
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.212 Beiträge
 
Delphi 2007 Architect
 
#10

AW: Datum von bis vergleichen

  Alt 14. Sep 2017, 14:27
@mkinzler

Wenn sein Datum 2012-10-12 07:12:56 ist, dann würde das Resultat die fett markierte Zeile sein - ich denke das ist was er will

Zitat:
351 2012-10-12 17:17:00 1350055020 2012-10-23 18:18:00 1351009080
352 2012-10-12 18:18:00 1350058680 2012-10-23 19:19:00 1351012740
353 2012-10-12 19:19:00 1350062340 2012-10-23 21:21:00 1351020060
354 2012-10-12 21:21:00 1350069660 2012-10-23 23:23:00 1351027380
355 2012-10-12 23:23:00 1350076980 2012-10-23 02:02:00 1350950520
356 2012-10-12 02:02:00 1350000120 2012-10-23 05:05:00 1350961500
357 2012-10-12 05:05:00 1350011100 2012-10-23 08:08:00 1350972480
358 2012-10-12 08:08:00 1350022080 2012-10-23 10:10:00 1350979800
359 2012-10-12 10:10:00 1350029400 2012-10-23 13:13:00 1350990780
360 2012-10-12 13:13:00 1350040380 2012-10-23 15:15:00 1350998100
361 2012-10-12 15:15:00 1350047700 2012-10-23 16:16:00 1351001760
362 2012-10-12 16:16:00 1350051360 2012-10-23 17:17:00 1351005420
Ich bin noch immer dafür den SQL-Mist wegzulassen und alles in Delphi auszuwerten.
Genau. Diese zeile möchte ich...
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:30 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