Wie teilt man eine durch Komma getrennte Zeichenfolge in Oracle

Wie teilt man eine durch Komma getrennte Zeichenfolge in Oracle mit SUBSTR und INSTR.

String '20.4,12.5,3.5,0.2,0.2'.

Ich habe versucht, über den code unten, aber ich bin nicht in der Lage, um den Wert nach dem 2. Komma.

SELECT substr('20.4,12.5,3.5,0.2,0.2',0,instr('20.4,12.5,3.5,0.2,0.2',',')-1) 
value FROM dual   -- 1. 20.4

zweiten Wert bin ich immer den gesamten string nach dem 2. Komma.

SELECT substr('20.4,12.5,3.5,0.2,0.2',instr('20.4,12.5,3.5,0.2,0.2',',')+1,instr('20.4,
12.5,3.5,0.2,0.2',',',2,2)-1) st FROM dual   -- result : 12.5,3.5,

Möchte ich den Wert nach jedem Komma, wie

20.4

12.5

3,5 und so weiter.

  • Siehe stackoverflow.com/questions/26878291/...
  • Ich will, dass es ohne Verwendung von "REGEXP" - Funktion.
  • Warum gehst du nicht wollen, benutzen Sie die regexp-Funktion?
  • Ich bin immer das Ergebnis mit regex. Ich bin versucht, ob seine mögliche, um ohne regex.
  • SELECT REGEXP_SUBSTR ('20.4 12.5 3.5 0.2 0.2', '(\S*)(\s)', 1, 2) FROM dual; nur haben die position zu ändern
InformationsquelleAutor Sam | 2017-05-30
Schreibe einen Kommentar