MySQL stringi lõikamine: SUBSTRING, LEFT, RIGHT näited

1. MySQLi stringi operatsioonide põhialused

Andmebaasi haldamisel on stringi operatsioonid andmete töötlemise ja päringu tulemuste optimeerimise jaoks hädavajalik oskus. MySQL pakub mugavaid funktsioone stringide lõikamiseks ja manipuleerimiseks. Selles artiklis keskendume eriti olulisele SUBSTRING funktsioonile, tutvustame ka teisi stringi operatsioonide meetodeid ning selgitame praktilisi kasutusviise.

2. MySQLi põhivälja lõikamine – SUBSTRING funktsioon

MySQLi SUBSTRING funktsioon on üks enim kasutatud funktsioone, kui soovitakse stringi osa määrata ja välja võtta.

SUBSTRING funktsiooni põhiline süntaks

SUBSTRING(String, Alguspositsioon, Märgi arv)
  • String: Lõigatav string.
  • Alguspositsioon: Lõikamise alguspositsioon (esimese tähe positsioon on 1).
  • Märgi arv: Väljastatavate märkide arv (kui jäetakse vahele, võetakse alates alguspositsioonist kuni lõppeni).

Näide: Põhiline kasutusnäide

SELECT SUBSTRING('Hello World', 2, 5);
Selles päringus lõigatakse stringist “Hello World” alates teisest tähemärgist viis tähemärki, tulemuseks on “ello “.

SUBSTRING funktsioon negatiivsete väärtustega

Negatiivse väärtuse määramine alguspositsioonile võimaldab lõigata stringi lõpu poole loendades.
SELECT SUBSTRING('abcdefg', -3, 2);
See päring tagastab lõpu kolmanda ja neljanda tähe “ef”.

3. LEFT- ja RIGHT-funktsioonidega teksti lõikamine

SUBSTRING funktsiooni asemel võite kasutada LEFT– ja RIGHT-funktsioone, et saada määratud arv tähemärke teksti algusest või lõpust.

LEFT-funktsioon

LEFT funktsioon lõikab teksti vasakult servast määratud arvu tähemärke.
SELECT LEFT('abcdefg', 3);
Selles päringus saadakse tulemuseks “abc”.

RIGHT-funktsioon

Teisest küljest, RIGHT funktsioon võtab teksti paremalt servalt määratud arvu tähemärke.
SELECT RIGHT('abcdefg', 3);
See päring tagastab tulemuseks “efg”. Need funktsioonid on eriti kasulikud, kui on vaja lõigata kindel arv tähemärke kas vasakult või paremalt küljelt.

4. SUBSTRING_INDEX funktsiooni kasutamine stringide jagamiseks

SUBSTRING_INDEX funktsioon kasutatakse stringi jagamiseks määratud eraldusmärgi alusel ja konkreetse alamsõne saamiseks. See on eriti kasulik CSV-de või mitme väärtuse ühendatud väljade puhul。

SUBSTRING_INDEX funktsiooni põhiline süntaks

SUBSTRING_INDEX(string, eraldusmärk, N)
  • string: Operatsiooni sihtstring。
  • eraldusmärk: Stringi jagamise aluseks olev märk (näiteks: koma)。
  • N: Saadavate eralduste arv. Positiivne väärtus loeb algusest, negatiivne väärtus loeb lõpus。

Näide: kasutusnäide

SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
Selles päringus saadakse komaga eraldatud ‘apple,orange,banana’ stringist esimesed kaks ‘apple,orange’。

5. Praktilised rakendused: stringide lõikamine andmebaasi operatsioonides

Stringide töötlem on andmebaaside haldamisel väga kasulik. Siin tutvustame mõnda rakenduse näidet.

Toote nime osa väljavõtmine

Järgnevas päringus otsitakse andmeid, mille tootenimi lõpeb sõnaga “suur portsjon”.
SELECT * FROM products WHERE SUBSTRING(name, -2, 2) = 'suur portsjon';
Nii saab määrata andmete lõpuosa ja väljavõtta kirjed, mis vastavad kindlale tingimusele.

Arvuliste andmete lõikamine ja arvutamine

Näide, kus arvuvälja osa lõigatakse ja kasutatakse arvutustes.
SELECT name, price, SUBSTRING(price, -2, 2) * 5 AS total FROM products;
Selles päringus lõigatakse toote hinna viimased kaks numbrit ja korrutatakse viiega, näidates tulemust “total”.

6. Soovitused jõudluse optimeerimiseks

Stringi operatsioonid on mugavad, kuid suurtel andmebaasidel võivad need mõjutada jõudlust. Allpool on mõned näpunäited jõudluse parandamiseks.

Kasuta indekseid

Kui otsite stringi osa, saab sobiva indeksi seadistamisega päringu kiirust märkimisväärselt parandada. Näiteks, kui kombineerite LIKE-lauset indeksi kanssa, on päring, mis otsib mustri algusest, nagu LIKE 'abc%', kõige optimaalsem. Kui kasutatakse tagasijärgnevaid vasteid, nagu LIKE '%abc', ei kasutata indeksit, mis võib jõudlust halvendada.

Stringi operatsioonid suurte andmete korral

Kui suurtel tabelitel tehakse sageli stringi operatsioone, võib kaaluda stringi töötlemist rakendustasandil. Kui andmebaasis töötlemine muutub koormavaks, saab koormust vähendada, jaotades töö rakenduse poole.

7. Kokkuvõte

MySQL-i stringioperatsioonid on võimas tööriist andmete väljavõtmisel ja aruannete koostamisel. SUBSTRING või LEFT, RIGHT jne funktsioonide nutikas kasutamine võimaldab vajaliku teabe lihtsalt välja võtta. Samuti on jõudluse optimeerimiseks oluline õigete indeksite seadistamine ja töötlusviiside läbimõeldud kasutamine. Nende tehnoloogiate valdamisega saate oma MySQL-i stringioperatsioonide oskusi veelgi parandada. Järgmise sammuna soovitame õppida regulaaravaldiseid ja muid edasijõudnud stringioperatsioonide tehnikaid.