Ganymed Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 Hallo zusammen, ich sitze hier grad und bekomme partout kein Ergebnis. Und zwar möchte ich in einer Tabelle Datensätze zählen, die ein bestimmtes Datum haben. Ich bekomme aber kein Ergebnis. Die Daten sind als "TT.MM.JJJ HH.MM.SS' gesichert (hoffe, das schreibt man so ) Meine Abfrage lautet: SELECT COUNT(*) FROM tabelle WHERE id=352 AND datum LIKE('09.06.2004%'); Was mache ich falsch? Gruß Ganymed Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 Hallo, Oralce erkennt dein Datum nicht als Datum. Probier mal folgendes: SELECT COUNT(*) FROM tabelle WHERE id=352 AND datum =to_date('09.06.2004', 'DD.MM.YYYY'); Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ganymed Geschrieben 11. Juni 2004 Autor Teilen Geschrieben 11. Juni 2004 Hallo, Oralce erkennt dein Datum nicht als Datum. Probier mal folgendes: SELECT COUNT(*) FROM tabelle WHERE id=352 AND datum =to_date('09.06.2004', 'DD.MM.YYYY'); Frank Hmm... geht leider immer noch nicht Ergebns ist 0... Verstehe ich nicht. Das Feld ist auch vom Datentyp date, wenns hier irgendwie weiterhilft... :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 Ich habe mir schon gedacht, dass es ein Date Feld ist. Dann probier mal: SELECT COUNT(*) FROM tabelle WHERE id=352 AND datum =to_char('09.06.2004', 'DD.MM.YYYY'); Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ganymed Geschrieben 11. Juni 2004 Autor Teilen Geschrieben 11. Juni 2004 Ich habe mir schon gedacht, dass es ein Date Feld ist. Dann probier mal: SELECT COUNT(*) FROM tabelle WHERE id=352 AND datum =to_char('09.06.2004', 'DD.MM.YYYY'); Frank Hallo, ich bekomme dann die Fehlermeldung "invalid number"... Irgendwas ist doch das faul, oder? :confused: Ich habs auch schon mit instr und substr versucht... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 Eigentlich sollte das gehen. Ich habe jetzt auch gerade kein Oracle hier um das zu testen. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ganymed Geschrieben 11. Juni 2004 Autor Teilen Geschrieben 11. Juni 2004 Eigentlich sollte das gehen. Ich habe jetzt auch gerade kein Oracle hier um das zu testen. Frank Hehe... hab den ganzen Kram nochmal eingegeben. (dein zweites Beispiel). Hab zwar immer noch ne Fehlermeldung jetzt aber "invalid character" für exakt das Gleiche Statement... Kapier ich nicht... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DerMatze Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 Hmm, vielleicht hilft dir das: AND TRUNC(datum) = TO_DATE('11.JUN.04', 'DD.MON.YYYY') Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ganymed Geschrieben 11. Juni 2004 Autor Teilen Geschrieben 11. Juni 2004 Hmm, vielleicht hilft dir das: AND TRUNC(datum) = TO_DATE('11.JUN.04', 'DD.MON.YYYY') Hmmm... auch 0 als Ergebnis. Wenn ich anstatt dem to_date ein to_char eingebe, dann hab ich wieder die Fehlermeldung... Ein Datum hat das Format (habs jetzt mal aus der DB rauskopiert) 09.06.2004 08:52:08 Ist doch, das ,was ich geschrieben hatte, oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-roTekuGeL- Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 SELECT * FROM Tabelle where date_summarised >= to_date('20.10.2002', 'DD.MM.YYYY'); also die Abfrage hat bei mir bis jetzt immer funktioniert... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ganymed Geschrieben 11. Juni 2004 Autor Teilen Geschrieben 11. Juni 2004 SELECT * FROM Tabelle where date_summarised >= to_date('20.10.2002', 'DD.MM.YYYY'); also die Abfrage hat bei mir bis jetzt immer funktioniert... date_summarised invalid identifier... Was heißt das überhaupt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-roTekuGeL- Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 date_summarised invalid identifier... Was heißt das überhaupt? da musst du schon dein feld reinsetzten... also den feldnamen, sry und dann halt noch das > weg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ganymed Geschrieben 11. Juni 2004 Autor Teilen Geschrieben 11. Juni 2004 da musst du schon dein feld reinsetzten... also den feldnamen, sry und dann halt noch das > weg Irgendwie weiß ich nicht wohin mit dem summarised... Mit dem "_" wäre das ja ein neues Feld - und da hat der Compiler Recht - invalid identyfier... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 Du mußt date_summarised durch deinen Feldnamen ersetzen. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-roTekuGeL- Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 Irgendwie weiß ich nicht wohin mit dem summarised... Mit dem "_" wäre das ja ein neues Feld - und da hat der Compiler Recht - invalid identyfier... date_summarised war mein feldname... ersetz das ganze einfach durch deinen feldnamen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
johnhaltonx Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 Welchen Client benutzt du denn? sqlplus ? Wenn ja dann poste doch mal den code abschnitt aus dem SQLPLUS bsp: SCHEELEC@AZUBIDB.WORLD> create table test (datum date); Table created. Elapsed: 00:00:00.01 SCHEELEC@AZUBIDB.WORLD> insert into test values ('09-06-2004 12:12:33'); 1 row created. Elapsed: 00:00:00.00 SCHEELEC@AZUBIDB.WORLD> commit; Commit complete. Elapsed: 00:00:00.00 SCHEELEC@AZUBIDB.WORLD> select * from test; DATUM ------------------- 09.06.2004 12:12:33 Elapsed: 00:00:00.00 SCHEELEC@AZUBIDB.WORLD> spool off Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ganymed Geschrieben 11. Juni 2004 Autor Teilen Geschrieben 11. Juni 2004 Ich benutze PL/SQL Developer @Kügelchen Funkt leider auch nicht -> Ergebnis 0 Muss aber was geben Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
johnhaltonx Geschrieben 11. Juni 2004 Teilen Geschrieben 11. Juni 2004 Ich glaube ich hab den Fehler... du versuchst mit einem Datum-datentyp reguläre Ausdrücke zu verwenden z.b. '%' du willst alle daten vom 09.06.2004 haben select count(*) from tabelle where id =352 and datum between '08-06-2004 23:59:59' AND '09-06-2004 23:59:59'; SCHEELEC@AZUBIDB.WORLD> select count(*) from test where datum between '08-06-2004 23:59:59' AND '09-06-2004 23:59:59'; COUNT(*) ---------- 1 Elapsed: 00:00:00.00 SCHEELEC@AZUBIDB.WORLD> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 14. Juni 2004 Teilen Geschrieben 14. Juni 2004 Das was DerMatze oben geschrieben hat war schon ganz richtig. Das zeigt schon alleine das du da keine Fehlermeldung bekommen hast, sondern 0 als ergebnis. Allerdings hat er einen Fehler gemacht. Er hat als Jahreszahl 04 angegeben. Hinten aber definiert das er eine vierstellige Jahreszahl hat.... Versuch es so: Und wenn du dann immer noch 0 bekommst bin ich mir sicher, das es einfach keine Daten für den entsprechenden Tag gibt... SELECT COUNT(*) FROM tabelle WHERE id=352 AND TRUNC(datum) = TO_DATE('11.JUN.2004', 'DD.MON.YYYY') Grüße mme Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 14. Juni 2004 Teilen Geschrieben 14. Juni 2004 select count(*) from tabelle where id =352 and datum between '08-06-2004 23:59:59' AND '09-06-2004 23:59:59'; Selbst wenn das funktioniert rate ich dir so davon ab. Solche statements sind doch dämlich... Welches is tder Monat und welches ist der Tag? Funktioniert hier vielleicht (?) aber wehe du setzt das statement in einer anderen Umgebung ab, wo das andere Datumsformate eingestellt sind..... Ich würde immer so lästige Funktionen wie to_Date() usw. benutzen.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.