Riješeno: podijeljeni niz

Posljednje ažuriranje: 09/20/2023

Kada radite sa bazama podataka, uobičajen zadatak je manipulacija i analiza podataka kako bi se stekli korisni uvidi. Često to uključuje rad sa nizovima, posebno njihovo cijepanje na osnovu određenih graničnika. U Oracle SQL-u postoje različiti načini da se to postigne kroz različite funkcije i proceduralne kodove. U ovom članku ćemo pokriti sveobuhvatno rješenje za podjelu niza pomoću Oracle SQL-a. Razgovarat ćemo o konceptu, rješenju i rastaviti kod korak po korak radi boljeg razumijevanja.

Razdvajanje stringova u Oracle SQL-u

U Oracle SQL-u, podjela stringova se može izvršiti ili korištenjem PL/SQL jezika ili putem SQL upita učitanih ugrađenim funkcijama ili posebnim operatorima. Ali najčešće korištena metoda je korištenje inherentnih funkcionalnosti REGEXP_SUBSTR funkcija, što je skraćenica za podnizove regularnog izraza. Pruža intuitivan i efikasan način rada sa žicama. Pored toga, takođe omogućava upotrebu regularnih izraza za specificiranje specifičnijih obrazaca koje treba tražiti u stringovima.

Rješenje: korištenje funkcije REGEXP_SUBSTR

IZJAVITE
str VARCHAR2(100):= 'Oracle,SQL,String,Split';
reslt VARCHAR2(100);
BEGIN
ZA i IN 1..LENGTH(str)-DUŽINA(ZAMJENA(str,',',”))+1
LOOP
reslt := REGEXP_SUBSTR(str, '[^,]+', 1, i);
dbms_output.put_line(reslt);
END LOOP;
END;

Objašnjenje koda

Prvo, deklariramo dvije varijable: jednu za držanje ulaznog niza i drugu za hvatanje svakog podijeljenog segmenta niza. Nakon toga, počinje petlja koja se ponavlja kroz svaki dio niza. Ideja je da se string podeli na svakom zarezu i zatim odštampa svaki segment.

REGEXP_SUBSTR se poziva unutar petlje kako bi odgovarao uzorku u svakom segmentu, počevši od prve pozicije svakog segmenta i podudarajući se s jednom pojavom u isto vrijeme. Konkretno, '[^,]+' je regularni izraz koji odgovara jednom ili više pojavljivanja bilo kojeg znaka osim zareza. Svaki podudarni segment se zatim ispisuje pomoću dbms_output.put_line komandu.

Druge korisne string funkcije u Oracle SQL-u

Dodatno REGEXP_SUBSTR, Oracle SQL nudi nekoliko drugih moćnih funkcija za manipulaciju stringovima:

  • SUBSTR: Vraća dio niza, počevši od određene pozicije.
  • ZAMJENA: Zamjenjuje sva pojavljivanja navedenog niza.
  • PREVEDI: Prevodi pojedinačne znakove u nizu u druge znakove.
  • INSTR: Vraća lokaciju podniza u nizu.

Ovladavanje ovim funkcijama može uvelike povećati vašu efikasnost kada se bavite string operacijama u Oracle SQL-u. Oni ne samo da pružaju jednostavna rješenja već vam također omogućavaju da iskoristite inherentne mogućnosti Oracle SQL jezika za manipulaciju i analizu podataka.

Slični postovi: