Datumseinträge aus der Zukunft wählen
rsc
- datenbank
0 Helmut Weber0 Sven Rautenberg0 rsc0 Andreas-Lindig
Hallo zusammen,
ich hab hier ne Oracle-Datenbank mit ner Tabelle, wo Termine drin sind. In einer der Spalten ist auch das Datum (Format "date").
Beim Auslesen will ich jetzt allerdings, dass ich nur Termine in der Zukunft bekomme (also > heutiges Datum)...wie mach ich das? Ich versteh auch nicht, wie das Vergleichen ablaufen soll...
Ein guter Link oder ein Beispiel würden mich sehr viel weiterbringen.
Danke schonmal,
Robert
Hallo Robert
Bei MySQL wäre die Bedingung:
SELECT * FROM tabelle WHERE datum > sysdate();
Ob es bei einer Oracle-Datenbank ebenso ist? -> Einfach ausprobieren!
Gruß
Helmut Weber
Moin!
Bei MySQL wäre die Bedingung:
SELECT * FROM tabelle WHERE datum > sysdate();
Hm, da hätte ich doch spontan auf "now()" als Zeitfunktion getippt.
Ob es bei einer Oracle-Datenbank ebenso ist? -> Einfach ausprobieren!
Nicht ausprobieren, sondern in die Doku gucken würde helfen.
- Sven Rautenberg
Hallo!
Hm, da hätte ich doch spontan auf "now()" als Zeitfunktion getippt.
Ganz so simpel ist es in Oracle nicht ;-)
select sysdate from dual;
Aber hier versteh ich nicht, wie ich das mit dem vorgeschlagenen Befehl kombinieren soll/kann...ich hab auch kein Beispiel gefunden :-(
Robert
Hallo,
Ganz so simpel ist es in Oracle nicht ;-)
doch;-)
Aber hier versteh ich nicht, wie ich das mit dem vorgeschlagenen Befehl kombinieren soll/kann...ich hab auch kein Beispiel gefunden :-(
select bar,blub from foo where bla >sysdate
(Vorausgesetzt es existiert eine Tabelle foo, mit den Feldern bar, blub und bla, wobei letzteres ein Datumsfeld ist)
Grüße
Klaus
Hallo.
select bar,blub from foo where bla >sysdate
Okay, aber das liefert mir *immer* alle Termine zurück...warum?
"bla" hat das Format 'date' und die Einträge selbst sind im Format 'dd.mm.yyy' und sysdate's Rückgabe ist ja auch 'dd.mm.yyyy'.
Robert
WAH...das Systemdatum war falsch...dann kanns ja net gehen...
Danke trotzdem,
Robert
Moin!
auch so
Bei MySQL wäre die Bedingung:
SELECT * FROM tabelle WHERE datum > sysdate();
Hm, da hätte ich doch spontan auf "now()" als Zeitfunktion getippt.
Ich auch, allerdings muß man daraus noch den aktuellen Tag ermitteln:
date_format(now(), '%...') - weiß im Moment den richtigen Schlüssel-Buchstaben nicht.
Gruß, Andreas
Moin!
Bei MySQL wäre die Bedingung:
SELECT * FROM tabelle WHERE datum > sysdate();
Hm, da hätte ich doch spontan auf "now()" als Zeitfunktion getippt.
Ich auch, allerdings muß man daraus noch den aktuellen Tag ermitteln:date_format(now(), '%...') - weiß im Moment den richtigen Schlüssel-Buchstaben nicht.
Ähm, _muss_ man das? War das im Fragezusammenhang gefordert? Eigentlich nicht.
Die MySQL-Doku meint übrigens:
NOW()
SYSDATE()
CURRENT_TIMESTAMP
Gibt das aktuelle Datum und die aktuelle Zeit als einen Wert im 'YYYY-MM-DD HH:MM:SS'- oder YYYYMMDDHHMMSS-Format zurück, abhängig davon, ob die Funktion in einem Zeichenketten- oder in einem numerischen Zusammenhang benutzt wird:
NOW() und SYSDATE() sind also äquivalent und passen sich überdies dem Verwendungszweck automatisch an.
- Sven Rautenberg
Moin!
auch so
Ähm, _muss_ man das? War das im Fragezusammenhang gefordert? Eigentlich nicht.
Doch, gesucht war (Zitat): '(also > heutiges Datum)...'
nicht > jetzt
Gibt das aktuelle Datum und die aktuelle Zeit als einen Wert im 'YYYY-MM-DD HH:MM:SS'- oder YYYYMMDDHHMMSS-Format zurück
eben, die Uhrzeit wird immer mitgeliefert, und wenn ich ab morgen suche, muß ich daraus den heutigen Tag machen.
Gruß, Andreas
Moin!
Ähm, _muss_ man das? War das im Fragezusammenhang gefordert? Eigentlich nicht.
Doch, gesucht war (Zitat): '(also > heutiges Datum)...'
nicht > jetzt
Zitiere vollständig:
"Beim Auslesen will ich jetzt allerdings, dass ich nur Termine in der Zukunft bekomme (also > heutiges Datum)...wie mach ich das?"
Und Zukunft!=Vergangenheit, auch wenn sie erst eine Minute zurückliegt. :)
Die Frage ist in diesem Punkt widersprüchlich gestellt.
- Sven Rautenberg