oracle-substr-Funktion mit Trennzeichen Umfang
Ich bin auf der Suche nach dem nächsten Trennzeichen, um einen Teilstring mit einem limit auf die Anzahl der Zeichen.
Eg: select 'oneone,twotwo, threethree, four,five,six,seven,eight,nine,ten,eleven,twelve' from dual;
Nun, ich will gap die substr ziehen nur die ersten 30 Zeichen aus diesem string, während auch die Gewährleistung der substr Ende mit dem nächsten "," wenn Sie nicht finden können, die Ihren Endpunkt in der 30 Zeichen.
select substr('oneone,twotwo, threethree, four,five,six,seven,eight,nine,ten,eleven,twelve',1,30) from dual ;-- First 30 characters.
Die ersten 30 Zeichen erzeugt: oneone,twotwo, threethree, fou
Aber, ich will das erwartete Ergebnis zu finden, das nächste Trennzeichen "," vor der unvollständige Eintrag von "fou" und erhalten das Ergebnis.
Expected Result:oneone,twotwo, threethree -- since "fou" is incomplete and thus should be excluded
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine gute chance, es gibt eine einfachere Lösung, aber
arbeiten und, wenn Sie es brechen, ist relativ einfach zu Folgen.
Arbeiten von innen heraus,
nimmt die ersten 30 Zeichen des Strings
gibt Ihnen die position des letzten Kommas in das 30 Zeichen lange Zeichenkette. So dann
nimmt einen string von position 1 in die position kurz vor dem letzten Komma in das 30 Zeichen lange Zeichenkette.