sql >> Database >  >> RDS >> Oracle

Hoe een door komma's gescheiden tekenreeks in Oracle te splitsen

gebaseerd op https://blogs.oracle.com/aramamoo/how-to-split-comma-separated-string-and-pass-to-in-clause-of-select-statement:

Eerst zullen we een query vormen die deze door komma's gescheiden tekenreeks splitst en de afzonderlijke tekenreeksen als rijen geeft.

SQL> select regexp_substr('20.4,12.5,3.5,0.2,0.2','[^,]+', 1, level) from dual
     connect by regexp_substr('20.4,12.5,3.5,0.2,0.2', '[^,]+', 1, level) is not null;


REGEXP_SUBSTR('20.4,1
---------------------
20.4                 
12.5                 
3.5                  
0.2                  
0.2  

De bovenstaande query herhaalt de door komma's gescheiden tekenreeks, zoekt naar de komma (,) en splitst de tekenreeks vervolgens door de komma als scheidingsteken te behandelen. Het geeft de string terug als een rij, telkens wanneer het een scheidingsteken raakt.



  1. Postgres-tabelkolomnaambeperkingen?

  2. De volgorde van een SQL Select-instructie zonder Order By-clausule

  3. Strace gebruiken als DG40DBC Debugging Tool op Linux

  4. Oracle WHILE LOOP Voorbeeld