Veröffentlicht 28. Februar 200520 j Hallo! Ich erstelle gerade eine Datenbankabfrage einer Oracle 9i-DB. Nun habe ich folgendes Problem: Ich möchte prüfen, ob ein Datum kleiner ist, als das andere. Wenn ja, dann soll er zu dem Datum 1 Tag hinzuaddieren, sonst soll er das Datum lassen. Nun versuche ich das Ganze mit der Decode- Funktion, allerdings scheitert es noch an meiner Syntax. Hier mein Code: decode(MV.DT_ENDE_BEHANDLUNG,<MV.DT_BEGINN_BEHANDLUNG, MV.DT_ENDE_BEHANDLUNG +1,MV.DT_ENDE_BEHANDLUNG) Dauer Wo ist mein Fehler, bzw. wie müßte es richtig heißen? Danke im Voraus. Gruß Florian
28. Februar 200520 j Hallo Du, die Syntax für decode lautet: decode (expr, search, result, default) Bei Deinem Beispiel denke ich, sollt es wie folgt lauten: decode(MV.DT_ENDE_BEHANDLUNG,MV.DT_ENDE_BEHANDLUNG<MV.DT_BEGINN_BEHANDLUNG, MV.DT_ENDE_BEHANDLUNG +1,MV.DT_ENDE_BEHANDLUNG) Dauer Dann sollte es klappen! Grüßle, Gnomeline
28. Februar 200520 j Hi, du kannst beim DECODE keine Vergleichs-Operatoren verwenden. Versuch es mal so: decode(least(MV.DT_ENDE_BEHANDLUNG,MV.DT_BEGINN_BEHANDLUNG), MV.DT_BEGINN_BEHANDLUNG, MV.DT_ENDE_BEHANDLUNG,MV.DT_ENDE_BEHANDLUNG+1) Ich hoffe das klappt, war mal so aus dem Stehgreif... Gruss, axl
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.