У меня есть образец объекта CLOB, как показано ниже. Я хочу сначала разделить это, используя разделитель «,» и сохранить его во временной таблице для последующего использования.Как разбить объект CLOB с использованием и: разделитель в Oracle на несколько записей
ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0
Я хочу сохранить результат в нижнем формате в каждой строке.
Column_Name
__________________________
ABCDEF:PmId12345RmLn1VlId0
ABCDEF:PmId12345RmLn1VlId0
ABCDEF:PmId12345RmLn1VlId0
Я попытался с помощью функции REGEXP_SUBSTR
select
regexp_substr('ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0,ABCDEF:PmId12345RmLn1VlId0', '[^,]+', 1, 1) Column_Name
from dual;
приведенных выше запроса дает мне одну запись, как показано ниже
Column_Name
__________________________
ABCDEF:PmId12345RmLn1VlId0
Может кто-нибудь помочь мне решить эту проблему.
Спасибо за ответ. Это отлично работает и возвращает объект CLOB. Могу ли я вернуть строку из нее? – Usha
Это было бы еще одним преимуществом использования 'dbms_lob.substr'; он берет входную строку 'CLOB' и выплевывает' VARCHAR2'. Интересно, что это задокументировано, в то время как я не смог быстро увидеть в документации Oracle, где он говорит, что стандартный 'substr' на' CLOB' возвращает 'CLOB' (но, конечно, я вам верю). – mathguy