1. камеры
  2. Аудио & Электроника автомобиля
  3. Главная Аудио
  4. Личная Аудио
  5. телевизоры
  6. Умный дом
  >> Россия Электронный Технологии >  >> Умный дом >> Умная жизнь

Как преобразовать Clob в Varchar2 в Oracle

Преобразование данных в строковом формате между различными типами данных обычно является простым процессом в Oracle, но некоторые случаи немного сложнее, чем другие. Один из них возникает, когда вы используете Oracle для преобразования clob в varchar2, что сложно, поскольку столбец varchar2 имеет максимум 4000 символов, в то время как clob может хранить огромное количество символьных данных. Однако вы все равно можете достичь своей цели, используя метод substr dbms_lob или to_char и указав максимальный размер.

Объяснение CLOB и VARCHAR2

CLOB (или в просторечии «clob») — это аббревиатура от «большой символьный объект», и он может хранить до 4 ГБ данных. Он используется несколькими системами баз данных, включая DB2 и Oracle. CLOB полезен, когда вам нужно хранить большие объемы данных, но сам размер может вызвать проблемы в некоторых ситуациях. Вот почему преобразование из Oracle CLOB в строковый формат более удобного размера часто является хорошим подходом перед выполнением операций.

Формат VARCHAR2 хранит меньшие объемы данных, обычно до 4000 байт, если вы не используете расширенный максимальный размер строки, в этом случае он может достигать 32 767 байт. Для однобайтового набора символов обычно можно получить до 4000 символов в столбце. Несоответствие между максимальными размерами этих двух форматов данных является причиной возникновения проблем при преобразовании.

Метод dbms_lob substr

Чтобы преобразовать строку clob в varchar2, откройте программу SQL *Plus. Синтаксис преобразования, которое вам необходимо выполнить:

ВЫБРАТЬ dbms_lob.substr( clob_column, for_how_many_bytes, from_what_byte ) ИЗ таблицы

Здесь значения в скобках — это те, которые вы должны изменить, а также «таблица» в конце. Они соответствуют столбцу ("clob_column") и таблице, с которой вы работаете. «for_how_many_bytes» дает вам возможность указать, сколько байтов данных вы хотите преобразовать, а «from_what_byte» позволяет указать начальную точку.

Итак, если у вас есть таблица под названием «налоги» и поле под названием «net_pay», и если вы хотите, чтобы 4000 байтов, начиная с первого, вы должны ввести:

ВЫБЕРИТЕ dbms_lob.substr(net_pay, 4000, 1) ИЗ налогов

Чтобы преобразовать строку в формат varchar2.

Метод TO_CHAR

Вы также можете использовать команду TO_CHAR с очень похожим синтаксисом для достижения той же цели:

ВЫБРАТЬ TO_CHAR(SUBSTR (clob_column,0,3999)) ИЗ таблицы

Здесь начальный и конечный байты указаны как 0 и 3999 (для строки из 4000 символов, начинающейся с начала), но поля «clob_column» и «table» используются точно так же, как и раньше. Итак, в том же примере вы можете ввести:

ВЫБЕРИТЕ TO_CHAR(SUBSTR (net_pay,0,3999)) ИЗ налогов

По сути, вместо того, чтобы завершить процесс за один шаг, используется команда SUBSTR для извлечения подстроки из большей строки, а затем используется «to_char» для обработки преобразования. Если в рассматриваемом столбце clob содержится менее 4000 байт информации, вы можете ввести имя столбца в круглых скобках после to_char вместо указания подстроки.


  1. Как конвертировать из DVR на DVD
  2. Как конвертировать из Лоран
  3. Как конвертировать GPX файл
  4. Как конвертировать из Dolby 5.1 до 7.1
  5. Как конвертировать ATRAC3 с компакт-диска