Splittare una stringa in Oracle
Sul mio db Oracle, ho una funzione (non fatta da me) che restituisce i valori in questo modo:
'49;50;30;0;0;0;0;0;'
Di tutto ciò, mi serve prendere solo il terzo valore; quindi dovrei spezzare la stringa in corrispondenza del punto e virgola, e poi prendere il terzo pezzo.
In Oracle è possibile splittare una stringa usando REGEXP_SUBSTR.
Vediamo l'esempio nel mio caso:
SELECT REGEXP_SUBSTR('49;50;30;0;0;0;0;0;','[^;]+', 1, 3) FROM DUAL;
In sostanza, passiamo questi parametri:
- la stringa da elaborare
- l'espressione regolare in cui splittare
- l'indice da cui iniziare la ricerca (il default è 1)
- l'occorrenza da prendere
Fate qualche prova e leggete la documentazione.
Enjoy!
database oracle regexp_substr
Commentami!