Pakeiskite eilutę SQL

Pakeiskite Eilute Sql



Tekstiniai duomenys arba eilutės, kaip juos vadina kūrėjai, yra pagrindinis bet kurios funkcinės programos elementas. Tai nesiskiria, kai reikia saugoti duomenis. Beveik visose duomenų bazėse yra tam tikros formos tekstinės informacijos, tokios kaip pavadinimai, žurnalai ir kt.

Taigi manipuliavimas eilutėmis yra įprasta užduotis, apimanti manipuliavimą ir eilučių reikšmių transformavimą į konkretų formatą.

Viena iš galingiausių SQL funkcijų, susijusių su eilučių operacijomis, yra funkcija REGEXP_REPLACE(). Ši funkcija leidžia atlikti reguliariąja išraiška pagrįstą paiešką ir pakeisti. Jei esate susipažinę su reguliariąja išraiška, žinote, kokia galinga gali būti ši funkcija.







Šioje pamokoje sužinosime, kaip galime naudoti šią funkciją ieškodami ir pakeisdami eilutes SQL duomenų bazėje.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() yra funkcija, leidžianti atlikti reguliariąja išraiška pagrįstą šablono suderinimą ir pakeitimą tam tikroje eilutėje.



Reguliarioji išraiška arba reguliarioji išraiška yra nustatytas šablonas ir rezervuotos vietos, leidžiančios suderinti ir valdyti eilutes arba poeilutes, kurios atitinka tam tikrą šabloną.





Verta nepamiršti, kad kiekvienas duomenų bazės variklis gali šiek tiek pritaikyti funkcijos sintaksę ir funkcionalumą.

Tačiau jo sintaksę galime išreikšti taip:



REGEXP_REPLACE(įvesties_eilutė, šablonas, pakeitimas [, vėliavėlės])

Funkcijos parametrai išreiškiami taip:

  1. input_string – nurodo eilutę, kurioje norime ieškoti ir pakeisti.
  2. Šablonas – nurodo reguliariosios išraiškos šabloną, kurį norime atitikti įvesties eilutėje.
  3. Pakeitimas – nurodo eilutę, kuri pakeičia suderintas eilutes.
  4. Vėliavos – pasirenkamų vėliavėlių rinkinys, galintis padėti pakeisti reguliariosios išraiškos funkcionalumą. Pavyzdžiui, galime įjungti visuotinę paiešką, mažųjų ir mažųjų raidžių atitikimą ir pan. Ši funkcija priklauso nuo duomenų bazės variklio.

Pavyzdžiai:

Norėdami geriau suprasti, kaip ši funkcija veikia, pažvelkime į kelis jos naudojimo pavyzdžius.

1 pavyzdys: pagrindinis naudojimas

Tarkime, kad turime lentelę su darbuotojo informacija, kaip parodyta toliau pateiktame išvesties pavyzdyje:

Apsvarstykite atvejį, kai norime pakeisti eilutę „Charlie“ į „Matthew“. Užklausą galime naudoti taip:

PASIRINKTI

REGEXP_REPLACE(vardas, 'Čarlis', 'Matas') AS naujas_vardas

NUO

darbuotojai;

Pateiktame pavyzdyje parodyta pagrindinė paieška ir pakeitimas, norint rasti eilutę „Charlie“ iš „first_name“ stulpelio ir pakeisti ją „Matthew“.

Išvestis:

2 pavyzdys: Keitimas be didžiųjų ir mažųjų raidžių

Kai kuriais atvejais galbūt norėsite atlikti paiešką be didžiųjų ir mažųjų raidžių. Tai reiškia, kad funkcija žiūrės tik į eilutės turinį, o ne į tikrąjį raidžių ir skaitmeninių raidžių korpusą.

Tokiu atveju kaip funkcijos vėliavėlę naudojame raidę „i“ taip:

SELECT REGEXP_REPLACE(produkto_aprašymas, Samsung, Apple, 'i') AS modifikuotas

IŠ produktų;

Nustačius vėliavėlę į „i“, funkcija atitinka visus žodžius, atitinkančius „Samsung“, neatsižvelgiant į didžiąsias ir mažąsias raides.

Išvada

Šiame pavyzdyje ištyrėme, kaip naudoti ir dirbti su funkcija REGEXP_REPLACE() norint atlikti reguliariosios išraiškos šabloną pagrįstą paiešką ir pakeisti.