![]() |
Datenbank: MySql • Version: 5 • Zugriff über: Console
Datum von bis vergleichen
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:
Es klappt soweit, allerdings wird nur das Datum beachtet. Das verstehe ich einfach nicht. Das ist das Ergebnis.
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);
Code:
Nun die frage. Was mache ich Falsch??? Ich finde einfach nichts darüber.
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 Vielen dank im Voraus |
AW: Datum von bis vergleichen
Was willst Du den genau Abfragen? Wie meinst Du das mit der Urzeit?
|
AW: Datum von bis vergleichen
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. |
AW: Datum von bis vergleichen
Du fragst aber alle Datensätze ab, in denen dein Datum in der Zeitspanne liegt.
|
AW: Datum von bis vergleichen
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.
|
AW: Datum von bis vergleichen
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? |
AW: Datum von bis vergleichen
Zitat:
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); |
AW: Datum von bis vergleichen
@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:
|
AW: Datum von bis vergleichen
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:
Gruß
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))); |
AW: Datum von bis vergleichen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz