WÄHLEN Sie so viele Daten von CLOB in VARCHAR2 wie möglich, mit multibyte-Zeichen in die Daten

Multi-byte-Zeichen hatte, verursachte mir große Schmerzen.

Jeder Vorschlag für dieses problem?

Habe ich ein CLOB-Feld, das könnte enthält einige multi-byte-Zeichen, und ich brauche, um zu wählen, in SQL und wandeln Sie dieses Feld in einen string für downstream-Prozesse, derzeit bin ich mit:

SELECT DBMS_LOB.SUBSTR( description, 4000, 1 ) FROM table

Aber die 4000 im obigen Befehl ist in der Länge von Zeichen anstelle bytes. Also ich hatte zu ändern, um 3000 zu behandeln multi-byte-Zeichen, die sich vielleicht eingeschlichen haben in die Daten sonst buffer size Fehler.

Das problem ist für Datensätze, die nicht multibyte-Zeichen enthalten, ist es vielleicht unnötig abgeschnitten, mehr Daten als Sie benötigen.
(Der 4000 ist der string, der Beschränkung, wir können bzw. musste damit Leben.)

Gibt es eine Möglichkeit, etwas zu tun, was im äquivalent von:

SELECT DBMS_LOB.SUBSTR( description, 4000bytes, 1 ) FROM table

So, ich kann so viel Daten wie möglich.

Hinweis: ich bin nicht erlaubt das erstellen temporärer Tabellen/views, die nicht mit PL/SQL nur SQL SELECT...

InformationsquelleAutor alchn | 2012-08-23
Schreibe einen Kommentar