Splittare una stringa in Oracle

Mattepuffo's logo
Splittare una stringa in Oracle

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!


Condividi

Commentami!