Zum Inhalt

Oracle: CLOB und VARCHAR2 untereinander umwandeln

Database Piktogramm

Wer ein ORACLE-Datenbankfeld versehentlich als CLOB angelegt hat, aber nur ein VARCHAR2 benötigt (oder umgekehrt), kann diese einfach untereinander konvertieren. Das ist nicht im laufenden Betrieb einer Anwendung, wohl aber mit vergleichsweise geringer Downtime möglich. Die Möglichkeit wird etwas unübersichtlich in einem Beitrag von Abhijit Bashetti beschrieben – mit Code-Formatierung ist diese Anleitung hier nun auch auf Deutsch zu lesen.

Für den Artikel gehen wir von der fiktiven Spalte  DESCRIPTION_TEXT  aus. Die Datenbank soll in diesem Beispiel  TEST  heißen. Eventuelle Präfixe der Schemata werden zuvor mit dem use -Keyword gesetzt oder per  Schemata.TEST  angegeben.

VARCHAR2 in CLOB konvertieren

CLOB in VARCHAR2 umwandeln

Der Rückweg ist etwas komplizierter. Das Problem hierbei ist, dass möglicherweise Teile der bestehenden Spalte abgeschnitten werden. Hintergrund ist die auf etwa 4 Kilobinärbyte beschränkte Größe von VARCHAR2. Wer sicherstellen kann, dass er keine überlangen Feldwerte hat oder mit dem Beschneiden der Inhalte leben kann, wendet folgende SQL-Befehle an.

Weiterführende Informationen

Published inHow Tos

Schreibe den ersten Kommentar

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.