![]() |
Datenbank: ORACLE • Version: 9 • Zugriff über: BDE
Systemzeit in SQL - Abfrage nutzen
Hallo zusammen,
wie kann man die Systemzeit in einer SQL - Abfrage benutzen ?
Delphi-Quellcode:
Möchte alle Datensätze filtern, die älter als eine Stunde sind, oder älter als ein Tag. So wie oben klappt es aber nicht.
WHERE ((TERMIN = SYSDATE AND UHRZEIT < (SYSTIME - 1)) OR (TERMIN < SYSDATE))
Gruss Holger |
Re: Systemzeit in SQL - Abfrage nutzen
CURRENT_DATE CURRENT_TIME
|
Re: Systemzeit in SQL - Abfrage nutzen
Zitat:
Gruss Holger |
Re: Systemzeit in SQL - Abfrage nutzen
hi,
wie sieht jetzt genau der source aus? welche fehlermeldungen genau? Gruß |
Re: Systemzeit in SQL - Abfrage nutzen
Soe sieht der SQL-Code aus:
Delphi-Quellcode:
... dann kommt die Meldung CURRENT_TIME -> ungültiger Bezeichner
WHERE ((TERMIN = SYSDATE AND UHRZEIT < (CURRENT_TIME - 1)) OR (TERMIN < SYSDATE))
Gruss Holger |
Re: Systemzeit in SQL - Abfrage nutzen
Sind nicht alle Records die älter als ein Tag sind automatisch älter als 1h? Da könntest du dir doch eine Abfrage sparen? Oder ist das Zeitfeld nicht überall gefüllt? Egal, hier ein Beispiel wie du mit dem Datum rechnen kannst:
SQL-Code:
Gruss
select sysdate as "aktuell", sysdate-1 as "gestern", sysdate - 1/86400 as "vor einer Sekunde", sysdate - 1/1440 as "vor einer Minute", sysdate - 1/24 as "vor einer Stunde" from dual
|
Re: Systemzeit in SQL - Abfrage nutzen
wer lesen kann ist klar im vorteil -.- es geht um oracle, sorry hab ich nicht aufgepasst.
bei deiner ersten code-version ...
Delphi-Quellcode:
... kam wahrscheinlich kein fehler sondern nur nicht die gewünschte datenmenge?
WHERE ((TERMIN = SYSDATE AND UHRZEIT < (SYSTIME - 1)) OR (TERMIN < SYSDATE))
Das Problem ist, dass Oracle imho bei "1" genau einen Tag abzieht und nicht wie von dir gewollt eine Stunde ;) Also musst du hier mit 1/24 arbeiten.
Delphi-Quellcode:
WHERE ((TERMIN = SYSDATE AND UHRZEIT < (SYSTIME - 1/24)) OR (TERMIN < SYSDATE))
[edit] @ken_jones: Er möchte scheinbar alle Datensätze die älter als eine stunde sind, aber auch welche die nicht von Heute sind ;) [Edit 2] RS Fehler raus |
Re: Systemzeit in SQL - Abfrage nutzen
Vielen dank für die Tipps.
Habe das mal so umgesetzt:
Delphi-Quellcode:
TEST beinhaltet ja jetzt das Datum und die Uhrzeit (welche um eine Stunde reduziert ist). Wie kann ich jetzt aus TEST nun nach der Uhrzeit abfragen ?
(SELECT SYSDATE - 1/24 FROM dual) as TEST
Gruss Holger P.S.: Hierbei: WHERE ((TERMIN = SYSDATE AND UHRZEIT < (SYSTIME - 1/24)) OR (TERMIN < SYSDATE)) kam die Fehlermeldung: Ungültige Zahl |
Re: Systemzeit in SQL - Abfrage nutzen
Gib doch eine kurze Info um was für Feldtypen es sich bei den 2 Feldern handelt, und was GENAU drinsteht, wenn es keine DATE Felder sind.
|
Re: Systemzeit in SQL - Abfrage nutzen
Hallo,
UHRZEIT ist ein VARCHAR2(5) - Feld und TERMIN ist ein DATE - Feld Gruss Holger |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:26 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