Как анализировать и отображать данные, используя SQL из столбца с типом данных CLOB - PullRequest
0 голосов
/ 20 апреля 2020

В настоящее время я пытаюсь получить и проанализировать clob данные, используя SQL. Данные хранятся как:

---- -------- ------------- 
ID   NOT NULL VARCHAR2(150) 
REC           CLOB    

Разделитель для каждой записи: 'þ'

Пример записи:

ABCCAU1780MþþGTLTþEMS-LOGINþ15543þ67320þþþ1.2þþþ3þþþ15543þ67882þ15543þ67888þþGþ1þGENRELþþþþ5

Есть ли способ получить и отобразить это как столбцы, используя SQL?

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

У вас есть что-то подобное на уме?

select * From test;

ID  REC
--  ---------------------------------------------------
01  ABCCAU1780MþþGTLTþEMS-LOGINþ15543þ67320þþþ
02  1.2þþþ3þþþ15543þ67882þ15543þ67888þþGþ1þGENRELþþþþ5

Тогда:

select id, 
  replace(regexp_substr(replace(rec, 'þ', 'þ#'), '[^þ]+', 1, column_value), '#', '') val
from test 
cross join table(cast(multiset(select level from dual
                               connect by level <= regexp_count(rec, 'þ') + 1
                              ) as sys.odcinumberlist))
order by id, column_value;

ID  VAL
--  ------------------------
01  ABCCAU1780M
01  
01  GTLT
01  EMS-LOGIN
01  15543
01  67320
01  
01  
01  
02  1.2
02  
02  
02  3
02  
02  
02  15543
02  67882
02  15543
02  67888
02  
02  G
02  1
02  GENREL
02  
02  
02  
02  5
0 голосов
/ 20 апреля 2020

Вы можете сделать что-то вроде этого, вот DEMO

select 
   DBMS_LOB.SUBSTR(REC,3000)
from yourTable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...