beetFreeQ Geschrieben 24. Oktober 2002 Teilen Geschrieben 24. Oktober 2002 Moin Ihr! Ich habe eine Tabelle, aus der ich alle Datensätze auslesen möchte, deren Datum (in einem Feld gespeichert) zwischen zwei Zeitpunkten liegt und außerdem eine 0 im Feld "gesperrt" und keine 0 und kein O im Feld "Telnr" stehen hat... - soweit so gut - bis auf die letzten beiden Bedingungen geht's auch - aber die Ungleich-Bedingungen im Feld Telnr mag er nicht - genausowenig geht es, wenn ich in dem Feld "gesperrt" nach ungleich 1 abfragen würde... - er findet keine Datensätze, obwohl definitiv welche mit den Kriterien vorhanden sind... Hier mal meine Query - vielleicht hab ich ja auch nur nen blöden Fehler drin... SELECT BBNR,WVDATUM FROM STAMMDATEN WHERE ((WVDATUM <= (SYSDATE + 0.01)) AND (WVDATUM >= (SYSDATE - 0.01)) AND (GESPERRT = 0) [color=red] AND (TELNR <> 'O') AND (TELNR <> '0')[/color]) ORDER BY WVDATUM Die problematischen Bedingungen hab ich mal rot markiert... Bin für jeden Tip dankbar... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kamikaze Geschrieben 24. Oktober 2002 Teilen Geschrieben 24. Oktober 2002 Ich weiß zwar nicht, wie das Feld formatiert ist (ich denke mal als VarChar2), aber probier es einfach mal so! SELECT BBNR,WVDATUM FROM STAMMDATEN WHERE ((WVDATUM <= (SYSDATE + 0.01)) AND (WVDATUM >= (SYSDATE - 0.01)) AND (GESPERRT = 0) AND NOT (TELNR = 'O') AND NOT (TELNR = '0')) ORDER BY WVDATUM; Viel Spaß beim Testen! CYA Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beetFreeQ Geschrieben 24. Oktober 2002 Autor Teilen Geschrieben 24. Oktober 2002 thx, aber das hab ich grad probiert - mit dem selben Ergebnis... Und es ist Varchar2(50) - und NULL ist erlaubt... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DooleyDoo Geschrieben 24. Oktober 2002 Teilen Geschrieben 24. Oktober 2002 Hi Beety, Du solltest es nochmal mit dem LIKE Befehl versuchen, bzw. in Deinem Fall mit NOT (TELNR LIKE 'O') Das funktioniert manchmal besser bei VarChar-Feldern. Oder Du läßt mal die Hochkommata bei der 0 weg. Dann wandelt er nämlich die 0 die in einigen Feldern steht in NUMBER um und dann hast Du keine Probleme mit eventuellen Leerzeichen oder sowas davor. Bei LIKE sollte das aber auch schon nicht das Problem sein. Greetz Dooley Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beetFreeQ Geschrieben 24. Oktober 2002 Autor Teilen Geschrieben 24. Oktober 2002 Originally posted by DooleyDoo Hi Beety, Du solltest es nochmal mit dem LIKE Befehl versuchen, bzw. in Deinem Fall mit NOT (TELNR LIKE 'O') Das funktioniert manchmal besser bei VarChar-Feldern. Oder Du läßt mal die Hochkommata bei der 0 weg. Dann wandelt er nämlich die 0 die in einigen Feldern steht in NUMBER um und dann hast Du keine Probleme mit eventuellen Leerzeichen oder sowas davor. Bei LIKE sollte das aber auch schon nicht das Problem sein. Greetz Dooley Thx... - aber das hat leider auch nicht geholfen... - ich versteh das langsam nicht mehr... - es kann doch nicht so schwer sein, alle Datensätze auszuschliessen, die ein O oder ne 0 im Feld stehen haben... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beetFreeQ Geschrieben 24. Oktober 2002 Autor Teilen Geschrieben 24. Oktober 2002 Ich hab mein Problem netterweise gelöst bekommen Scheinbar benötigt Oracle erstmal ne Abfrage, ob das Feld "IS NULL" ist... - weiß nicht wieso, aber folgende Query funzt: SELECT BBNR,WVDATUM FROM STAMMDATEN WHERE ((WVDATUM <= (SYSDATE + 0.01)) AND (WVDATUM >= (SYSDATE - 0.01)) AND (GESPERRT = 0) AND ((TELNR is null) OR((TELNR <> ''0'') AND(TELNR <> ''O'')))) ORDER BY WVDATUM 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.