sql >> Base de Datos >  >> RDS >> Oracle

Dividir columna CLOB basada en nueva línea - Oracle SQL

Puede usar una hierarchical query sin JOIN condición :

select t1.*, level as line_num, 
       regexp_replace( regexp_substr( t1.f_content,'[^~]+', 1, level), '(^[[:space:]]+)' ) 
       as line
  from table1 t1
 connect by level <= regexp_count(f_content, '~')   
    and prior f_name = f_name
    and prior sys_guid() is not null

Demostración