Palitan ang isang String sa SQL

Palitan Ang Isang String Sa Sql



Ang data ng text o mga string, bilang tawag sa kanila ng mga developer, ay isang pangunahing bloke ng gusali para sa anumang functional na programa. Ito ay hindi naiiba pagdating sa pag-iimbak ng data. Halos lahat ng mga database ay naglalaman ng ilang anyo ng impormasyon ng teksto tulad ng mga pangalan, log, atbp.

Dahil dito, ang pagmamanipula ng string ay isang karaniwang gawain na kinabibilangan ng pagmamanipula at pagbabago ng mga halaga ng string sa isang partikular na format.

Isa sa pinakamakapangyarihang function sa SQL na tumatalakay sa mga string operation ay ang REGEXP_REPLACE() function. Ang function na ito ay nagbibigay-daan sa amin upang isagawa ang regular na expression-based na paghahanap at pagpapalit. Kung pamilyar ka sa regular na expression, alam mo kung gaano kalakas ang function na ito.







Sa tutorial na ito, malalaman natin kung paano natin magagamit ang function na ito para hanapin at palitan ang mga string sa SQL database.



SQL REGEXP_REPLACE

Ang SQL REGEXP_REPLACE() ay isang function na nagbibigay-daan sa amin na gawin ang regular na expression-based na pagtutugma at pagpapalit ng pattern sa loob ng isang ibinigay na string.



Ang regular na expression o regex ay isang set na pattern at mga placeholder na nagbibigay-daan sa amin na itugma at manipulahin ang mga string o substring na sumusunod sa isang partikular na pattern.





Mainam na tandaan na maaaring bahagyang ipatupad ng bawat database engine ang syntax at functionality ng function.

Gayunpaman, maaari naming ipahayag ang syntax nito tulad ng sumusunod:



REGEXP_REPLACE(input_string, pattern, kapalit [, flags])

Ang mga parameter ng function ay ipinahayag tulad ng sumusunod:

  1. input_string - Tinutukoy nito ang string kung saan nais naming hanapin at palitan.
  2. Pattern – Tinutukoy nito ang regular na expression pattern na gusto naming itugma sa loob ng input string.
  3. Pagpapalit - Tinutukoy nito ang string na pumapalit sa mga katugmang substring.
  4. Mga Flag – Isang hanay ng mga opsyonal na flag na makakatulong upang baguhin ang functionality ng regular na expression. Halimbawa, maaari naming paganahin ang pandaigdigang paghahanap, case-insensitive na pagtutugma, atbp. Nag-iiba-iba ang feature na ito depende sa database engine.

Mga halimbawa:

Upang mas maunawaan kung paano gumagana ang function na ito, tingnan natin ang ilang halimbawa kung paano ito gamitin.

Halimbawa 1: Pangunahing Paggamit

Ipagpalagay na mayroon kaming isang talahanayan na naglalaman ng impormasyon ng empleyado tulad ng ipinapakita sa sumusunod na halimbawang output:

Isaalang-alang ang isang kaso kung saan gusto naming palitan ang paglitaw ng string na 'Charlie' sa 'Mateo'. Maaari naming gamitin ang query tulad ng sumusunod:

PUMILI

REGEXP_REPLACE(first_name, 'Charlie', 'Matthew') AS new_name

MULA SA

mga empleyado;

Ang ibinigay na halimbawa ay nagpapakita ng pangunahing paghahanap at pagpapalit upang mahanap ang string na 'Charlie' mula sa column na 'first_name' at palitan ito ng 'Matthew.'

Output:

Halimbawa 2: Case Insensitive na Pagpapalit

Sa ilang sitwasyon, maaaring gusto mong magsagawa ng case insensitive na paghahanap. Nangangahulugan ito na titingnan lamang ng function ang nilalaman ng string at hindi ang aktwal na casing ng mga alphanumeric na titik.

Sa ganoong kaso, ginagamit namin ang 'i' bilang flag ng function tulad ng sumusunod:

PUMILI NG REGEXP_REPLACE(product_description, Samsung, Apple, 'i') BILANG binago

MULA sa mga produkto;

Sa pamamagitan ng pagtatakda ng flag sa 'i', ang function ay tumutugma sa lahat ng mga salita na tumutugma sa 'Samsung', anuman ang casing.

Konklusyon

Sa halimbawang ito, ginalugad namin kung paano gamitin at gumana sa REGEXP_REPLACE() function upang magsagawa ng regular na expression na pattern-based na paghahanap at pagpapalit.