AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Systemzeit in SQL - Abfrage nutzen
Thema durchsuchen
Ansicht
Themen-Optionen

Systemzeit in SQL - Abfrage nutzen

Ein Thema von HolgerCW · begonnen am 18. Sep 2007 · letzter Beitrag vom 21. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 11:51
Datenbank: ORACLE • Version: 9 • Zugriff über: BDE
Hallo zusammen,

wie kann man die Systemzeit in einer SQL - Abfrage benutzen ?

WHERE ((TERMIN = SYSDATE AND UHRZEIT < (SYSTIME - 1)) OR (TERMIN < SYSDATE)) Möchte alle Datensätze filtern, die älter als eine Stunde sind, oder älter als ein Tag. So wie oben klappt es aber nicht.

Gruss

Holger
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 11:58
CURRENT_DATE CURRENT_TIME
Markus Kinzler
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 12:07
Zitat von mkinzler:
CURRENT_DATE CURRENT_TIME
-> Kommt die Meldung: ungültiger Bezeichner

Gruss

Holger
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 12:09
hi,

wie sieht jetzt genau der source aus? welche fehlermeldungen genau?

Gruß
Ansgar
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#5

Re: Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 12:15
Soe sieht der SQL-Code aus:

WHERE ((TERMIN = SYSDATE AND UHRZEIT < (CURRENT_TIME - 1)) OR (TERMIN < SYSDATE)) ... dann kommt die Meldung CURRENT_TIME -> ungültiger Bezeichner

Gruss

Holger
  Mit Zitat antworten Zitat
ken_jones

Registriert seit: 16. Mai 2005
Ort: Luzern
154 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 12:18
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:

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 Gruss
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 12:22
wer lesen kann ist klar im vorteil -.- es geht um oracle, sorry hab ich nicht aufgepasst.

bei deiner ersten code-version ...
WHERE ((TERMIN = SYSDATE AND UHRZEIT < (SYSTIME - 1)) OR (TERMIN < SYSDATE)) ... kam wahrscheinlich kein fehler sondern nur nicht die gewünschte datenmenge?

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.

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
Ansgar
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#8

Re: Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 12:55
Vielen dank für die Tipps.

Habe das mal so umgesetzt:
(SELECT SYSDATE - 1/24 FROM dual) as TEST 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 ?

Gruss

Holger

P.S.:

Hierbei:
WHERE ((TERMIN = SYSDATE AND UHRZEIT < (SYSTIME - 1/24)) OR (TERMIN < SYSDATE))
kam die Fehlermeldung: Ungültige Zahl
  Mit Zitat antworten Zitat
ken_jones

Registriert seit: 16. Mai 2005
Ort: Luzern
154 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

Re: Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 13:46
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.
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#10

Re: Systemzeit in SQL - Abfrage nutzen

  Alt 18. Sep 2007, 14:09
Hallo,

UHRZEIT ist ein VARCHAR2(5) - Feld und TERMIN ist ein DATE - Feld

Gruss

Holger
  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 20:41 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