Problem bei Datum in Where-Bedingung

Hallo,
hänge an folgenden Problem fest und bekomme es einfach nicht gebacken:

spalte1 spalte2 Datum(eine spalte)
„text1a“ „text1b“ „15.10.2004 09:42:25“
„text2a“ „text2b“ „14.10.2004 11:20:41“

wie muß ich die SQL Abfrage formulieren, dass ich alles
vom 15.10.2004 angezeigt bekomme bzw.
wie bekomme ich alle Datensätze angezeigt die dass heutige Datum enthalten???

Datentypen der View kann ich nicht konvertieren, da dies eine View auf eine externe Oracle DB ist.
select * from tabelle where datum = #15/10/2004# auch schon probiert…

Vielen Dank für jegliche Bemühung vorab…

Hallo.

spalte1 spalte2 Datum(eine spalte)
„text1a“ „text1b“ „15.10.2004 09:42:25“
„text2a“ „text2b“ „14.10.2004 11:20:41“

select * from tabelle where datum = #15/10/2004# auch schon
probiert…

Die Benennung „Datum“ (an Ende vielleicht sogar „Date“?) für eine Spalte ist eher Bäbä. Sollte eigentlich keine Probleme machen, aber wer weiß? Ansonsten müsste Deine SQL mit einer Änderung funktionieren :

Entweder

SELECT * FROM tabelle WHERE datum = #2004/15/10#;

oder

SELECT * FROM tabelle WHERE datum = DateValue(„15.10.2004“);

Das Ganze geht aber nur, wenn Du die Uhrzeit unberücksichtigt lässest. Zur Verdeutlichung : Der Gleichheitsoperator erwartet das Datum ohne Uhrzeit (oder mit der Uhrzeit 00:00:00; wie Du willi). Befindet sich eine Uhrzeit 09:08:13 im Datumsfeld, liefert die intern stattfindende Umwandlung keine Ganzzahl, sondern einen irgendwie aussehenden Dezimalbruch (38275 ist der 15.10.2004, 00:00 Uhr - 38275,63 ist der 15.10.2004, 15:03 Uhr). Beim Vergleich der Ganzzahl mit dem Istdatum findet er natürlich keine Gleichheit.

Wenn Du die Uhrzeit nicht eliminieren kannst, müsstest Du sie entweder in den Vergleich mit einbeziehen, oder Du bildest vor dem Vergleich jeweils einen ganzzahligen Wert. Damit wird Deine SQL-Klausel ein wenig anders, nämlich

SELECT * FROM tabelle WHERE CInt(Datum)=DateValue(„15.10.2004“);

Das sollte dann aber ohne zu knerbeln gehen.

Gruß kw

Hi,

und wenn das alles nichts hilft ( z.B. Datum oracle DB ist englisches Format o.ae.): Dann schalte eine Abfrage vor, die sich auf die Tabelle bezieht und lege in der Abfrage 3 defnierte Felder fuer die Datumsangabe an und spalte das ganze nach Tag, Monat, Jahr mit Format(Date1,„jjjj“) as DatJahr,Format(Date1,„mm“) as datMonat etc. auf, dann sind die 3 Felder numerisch und ein Select * from … where Format(Now(),„yyyy“) = DatJahr AND Format(Now(),„mm“) = datMonat funktioniert dann korrekt.

Das Select sollte man aber dann korrekt mit " & Format() & „…“ aufbauen.

Hope this helps
Peter