Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So teilen Sie eine durch Kommas getrennte Zeichenfolge in Oracle auf

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

Zuerst bilden wir eine Abfrage, die diesen durch Kommas getrennten String aufteilt und die einzelnen Strings als Zeilen ausgibt.

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  

Die obige Abfrage durchläuft die durch Kommas getrennte Zeichenfolge, sucht nach dem Komma (,) und teilt dann die Zeichenfolge, indem sie das Komma als Trennzeichen behandelt. Es gibt den String als Zeile zurück, wenn er auf ein Trennzeichen trifft.