SQL REGEXP_REPLACE

Sql Regexp Replace



Teksta dati vai virknes, kā tos sauc izstrādātāji, ir galvenais jebkuras funkcionālas programmas pamatelements. Tas neatšķiras, ja runa ir par datu glabāšanu. Gandrīz visās datu bāzēs ir kāda veida teksta informācija, piemēram, vārdi, žurnāli utt.

Tādējādi manipulācijas ar virknēm ir izplatīts uzdevums, kas ietver virknes vērtību manipulēšanu un pārveidošanu noteiktā formātā.

Viena no jaudīgākajām SQL funkcijām, kas nodarbojas ar virkņu operācijām, ir funkcija REGEXP_REPLACE (). Šī funkcija ļauj veikt regulāro izteiksmju meklēšanu un aizstāšanu. Ja esat iepazinies ar regulāro izteiksmi, jūs zināt, cik spēcīga var būt šī funkcija.







Šajā apmācībā mēs uzzināsim, kā mēs varam izmantot šo funkciju, lai meklētu un aizstātu virknes SQL datu bāzē.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() ir funkcija, kas ļauj veikt regulāro izteiksmju rakstu saskaņošanu un aizstāšanu noteiktā virknē.



Regulārā izteiksme jeb regulārā izteiksme ir iestatīts modelis un vietturi, kas ļauj mums saskaņot un manipulēt ar virknēm vai apakšvirknēm, kas atbilst noteiktam modelim.





Ir labi paturēt prātā, ka katrs datu bāzes dzinējs var nedaudz ieviest funkcijas sintaksi un funkcionalitāti.

Tomēr mēs varam izteikt tā sintaksi šādi:



REGEXP_REPLACE(ievades_virkne, modelis, aizstāšana [, karodziņi])

Funkciju parametri ir izteikti šādi:

  1. input_string — norāda virkni, kurā mēs vēlamies meklēt un aizstāt.
  2. Pattern — tas norāda regulārās izteiksmes modeli, kuru mēs vēlamies saskaņot ievades virknē.
  3. Aizstāšana — norāda virkni, kas aizstās atbilstošās apakšvirknes.
  4. Karogi — šī ir izvēles karodziņu kopa, kas var palīdzēt mainīt regulārās izteiksmes funkcionalitāti. Piemēram, mēs varam iespējot globālo meklēšanu, reģistrjutīgo saskaņošanu utt. Šī funkcija atšķiras atkarībā no datu bāzes dzinēja.

Piemēri:

Lai labāk izprastu, kā šī funkcija darbojas, apskatīsim dažus tās izmantošanas piemērus.

1. piemērs: pamata lietojums

Pieņemsim, ka mums ir tabula, kurā ir informācija par darbinieku, kā parādīts šādā izvades piemērā:

Apsveriet gadījumu, kad mēs vēlamies aizstāt virkni 'Charlie' ar 'Matthew'. Mēs varam izmantot vaicājumu šādi:

ATLASĪT

REGEXP_REPLACE(vārds, 'Čārlijs', 'Metjū') AS jaunais_vārds

NO

darbinieki;

Dotais piemērs parāda pamata meklēšanu un aizstāšanu, lai atrastu virkni “Charlie” no kolonnas “first_name” un aizstātu to ar “Matthew”.

Izvade:

2. piemērs. Aizstāšana bez reģistrjutīga

Dažos gadījumos, iespējams, vēlēsities veikt meklēšanu, kas nav reģistrjutīga. Tas nozīmē, ka funkcija apskatīs tikai virknes saturu, nevis burtu un ciparu burtu burtus.

Šādā gadījumā mēs izmantojam “i” kā funkcijas karogu šādi:

SELECT REGEXP_REPLACE(produkta_apraksts, Samsung, Apple, 'i') AS modificēts

NO produktiem;

Iestatot karogu uz “i”, funkcija atbilst visiem vārdiem, kas atbilst vārdam Samsung, neatkarīgi no reģistra.

Secinājums

Šajā piemērā mēs izpētījām, kā izmantot un strādāt ar funkciju REGEXP_REPLACE(), lai veiktu regulārās izteiksmes šablonu meklēšanu un aizstāšanu.