Ganymed Geschrieben 24. August 2005 Teilen Geschrieben 24. August 2005 Hallo zusammen, gibts eine Möglichkeit den Inhalt von CLOBs zu vergleichen? Ein Vergleich wie If Var1 = Var2 then .... End if; funktioniert nicht. Bekomme ich Kompilierungsfehler Und noch eine Frage: Wenn ich Select BIN_TO_NUM(1,0,0,1,0) from Dual mache, schreibt er dann den Wert in Dual in ein entsprechend großes Feld? Was ich meine ist, dass ich das Problem habe, dass meine Binärzahl beim umrechnen für Number zu groß wird und ich den Wert nirgends mehr abspeichern kann. Hat er das Problem, wenn ich versuche das Ergebnis in ein (zu kleines) Number-Feld zu schreiben oder schon bei der Ausführung in Dual? Wenn ich das in ein Clob reinschreiben könnte, müsste das Ergebnis ja wieder reinpassen. Die Größe ist ja riesig von dem Datentyp. Wäre toll, wenn mir jemand helfen könnte Gruß Ganymed Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast roaxius Geschrieben 26. August 2005 Teilen Geschrieben 26. August 2005 Hallo, zu der CLOB-Sache: Schau dir mal das Package dbms_lob an. Dort gibt es alles für LOBs. U.a. auch compare. Meine Werte sind beispielhaft und beziehen sich auf unsere DB. DECLARE clob_1 CLOB; clob_2 CLOB; v_return INTEGER(10); BEGIN -- Ungleiche CLOBS -- Rueckgabe -1 SELECT K550_FINANCIALS INTO clob_1 FROM EK550_CMS_DATA WHERE k550_Id = 2541; SELECT K550_FINANCIALS INTO clob_2 FROM EK550_CMS_DATA WHERE k550_Id = 2560; v_return := dbms_lob.compare(clob_1,clob_2,100,100,100); DBMS_OUTPUT.PUT_LINE(v_return); -- Gleiche CLOBS -- Rueckgabe 0 SELECT K550_FINANCIALS INTO clob_1 FROM EK550_CMS_DATA WHERE k550_Id = 2541; SELECT K550_FINANCIALS INTO clob_2 FROM EK550_CMS_DATA WHERE k550_Id = 2541; v_return := dbms_lob.compare(clob_1,clob_2,100,100,100); DBMS_OUTPUT.PUT_LINE(v_return); END; 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.