logo

SQL serverio SUBSTRING() funkcija

SUBSTRING funkcija SQL serveryje naudojamas norint ištraukti poeilelę iš eilutės, pradedant nuo nurodytos vietos ir pasirenkamo ilgio.

Tai labai naudinga, kai reikia išgauti tam tikrą eilutės dalį tolesniam apdorojimui ar analizei.



SQL SUBSTRING funkcija taip pat veikia Azure SQL duomenų bazė , Azure SQL duomenų saugykla , ir Lygiagretusis duomenų sandėlis .

Sintaksė

Funkcijos SQL SUBSTRING sintaksė yra tokia:

SUBSTRING(įvesties_eilutė, pradžia, ilgis);



Parametrai:

  • Įvesties_eilutė – Tai gali būti simbolių, dvejetainių, teksto ar vaizdo išraiška.
  • Pradžia – Tai yra sveikasis skaičius, apibrėžiantis vietą, kurioje prasideda grąžinta poeilutė. Pirmoji eilutė eilutėje yra 1.
  • Ilgis – Tai teigiamas sveikasis skaičius, nurodantis simbolių, kurie turi būti grąžinti iš poeilutės, skaičių.
  • Grąžinimai – Jis grąžina nurodyto ilgio poeilelę, pradedant nuo vietos įvesties eilutėje.

SQL serverio SUBSTRING() funkcijos pavyzdys

Pažvelkime į kai kuriuos funkcijos SUBSTRING() SQL pavyzdžius ir suprasime, kaip ją naudoti SQL serveryje.

SQL SUBSTRING funkcijos pavyzdys

Šiame pavyzdyje mes naudojame funkciją SUBSTRING SQL serveryje.

Užklausa:



  SELECT SUBSTRING  ('techcodeview.com',1,5);>

Išvestis:

poeilutės funkcijos pavyzdys

Funkcijos SUBSTRING() naudojimo SQL taisyklės

  1. SQL substring() funkcijai reikalingi visi trys argumentai. Jei pradinė padėtis viršija didžiausią reiškinio simbolių skaičių, funkcija SQL Server substring() nieko nepateikia.
  2. Bendras ilgis gali viršyti didžiausią pradinės eilutės simbolių ilgį.
  3. Šiuo atveju gauta poeilutė yra visa eilutė nuo išraiškos pradžios padėties iki išraiškos pabaigos simbolio.

SUBSTRING() Funkcija su pažodinėmis eilutėmis

Naudoti SQL SUBSTRING funkciją su pažodinėmis eilutėmis yra labai paprasta, tiesiog įrašykite norimas reikšmes į sintaksę.

kūrėjo režimo išjungimas

SUBSTRING() Funkcija su pažodinėmis eilutėmis Pavyzdys

Apsvarstykite šią SQL SUBSTRING funkcijos komandą:

  SELECT SUBSTRING (  'SQL In Geeksforgeeks', 7, 18  ) AS   ExtractString>

Ji paims originalią eilutę „SQL In Geeksforgeeks“ ir ištrauks poeilelę, prasidedančią 7 simboliu ir išgaunanti 18 simbolių. Naujas stulpelis su slapyvardžiu ExtractString bus grąžintas kartu su gauta poeile.

Norint išgauti eilutės atkarpą pagal iš anksto nustatytą pradinę padėtį ir ilgį, naudojama funkcija SUBSTRING. Pradinė eilutė perduodama kaip pirmasis funkcijos argumentas, o antrasis argumentas nurodo pradžios simbolį, šiuo atveju septintąjį. Trečiasis argumentas, kuris šiuo atveju yra 18 simbolių, nurodo, kiek laiko turi būti išgaunama poeilutė.

Šios SQL užklausos naudojimo tikslas yra išgauti konkrečią ilgesnės eilutės dalį, kuri reikalinga tolesnei analizei ar ataskaitoms rengti. Tai gali būti naudinga dirbant su dideliais duomenų rinkiniais, kai reikia išgauti konkrečią informaciją ir ja manipuliuoti iš ilgos teksto eilutės.

trečia normali forma

Išvestis

substring() funkcija su pažodinių eilučių pavyzdžio išvestimi

SUBSTRING() Funkcija su lentelės stulpeliais

Norėdami naudoti funkciją SUBSTRING() su lentelės stulpeliais, pirmiausia sukursime lentelę Player_Details , kuriame yra trys stulpeliai: PlayerId, PlayerName ir City. Kadangi stulpelis PlayerId yra nurodytas kaip pirminis raktas, kiekviena lentelės eilutė turės skirtingą PlayerId kaip savo identifikatorių.

Sukūrus lentelę, naudojant INSERT INTO sakinį, į lentelę pridedama dešimt duomenų eilučių. Nors stulpelis PlayerId bus automatiškai sugeneruotas kaip unikalus kiekvienos eilutės identifikatorius, stulpeliuose PlayerName ir City yra nurodytos vertės kiekvienai eilutei.

Užklausa:

  CREATE TABLE  Player_Details (  PlayerId INT  PRIMARY KEY  ,  PlayerName VARCHAR(50),  City VARCHAR(50) );   INSERT INTO  Player_Details (PlayerId, PlayerName, City)   VALUES    (1,'John', 'New York'),  (2,'Sarah', 'Los Angeles'),  (3,'David', 'Chicago'),  (4,'Emily', 'Houston'),  (5,'Michael', 'Phoenix'),  (6,'Ava', 'Philadelphia'),  (7,'Joshua', 'San Antonio'),  (8,'Sophia', 'San Diego'),  (9,'Daniel', 'Dallas'),  (10,'Olivia', 'San Jose');>

Išvestis:

sukurta lentelė

SUBSTRING() Funkcija su lentelės stulpeliais Pavyzdys

Šiame pavyzdyje lentelės stulpelyje naudosime funkciją SUBSTRING().

Užklausa

  SELECT SUBSTRING  (PlayerName, 1, 3)  AS   ExtractString   FROM   Player_Details;>

Išvestis

substring() funkcija su lentelės stulpelių išvesties pavyzdžiu

Antrinės užklausos stulpelis PlayerName gauna funkciją SUBSTRING, kuri parenka pirmuosius tris kiekvieno vardo simbolius. Šios poeilutės operacijos rezultatas – stulpelis PlayerName iš antrinės užklausos grąžinamas naujame stulpelyje su slapyvardžiu ExtractString.

SUBSTRING naudojimas įdėtose užklausose

Darant prielaidą, kad norite naudoti funkciją SUBSTRING įdėtoje užklausoje lentelėje player_Details, galite naudoti šį SQL kodą

Užklausa

tik slapyvardis
  SELECT SUBSTRING  (subquery.PlayerName, 1, 3)  AS   ShortenedName, subquery.City   FROM   (   SELECT   *   FROM   Player_Details   WHERE   City = 'New York' )  AS   subquery;>

Išvestis

img

Norint pasirinkti visas eilutes iš lentelės Player_Details, kur stulpelis Miestas yra lygus Niujorkui, ši SQL užklausa pirmiausia sukuria įdėtą užklausą. Išvestinė lentelė arba antrinė užklausa, kurioje yra šios įdėtos užklausos rezultatai, naudojama kaip funkcijos SUBSTRING įvestis.

Antrinės užklausos stulpelis PlayerName gauna funkciją SUBSTRING, kuri parenka pirmuosius tris kiekvieno vardo simbolius. Šios poeilutės operacijos rezultatas grąžinamas kartu su stulpeliu Miestas iš antrinės užklausos naujame stulpelyje su slapyvardžiu ShortenedName.

Svarbi funkcija apie SQL SUBSTRING funkciją

  • Funkcija SUBSTRING() ištraukia iš eilutės eilutę, pradedant nuo nurodytos vietos ir pasirenkamo ilgio.
  • Jis gali būti naudojamas su lentelės eilutėmis arba stulpeliais.
  • The KAIRĖ() ir TEISINĖ () funkcijos taip pat yra funkcijos SUBSTRING() įgyvendinimas.
  • SUBSTRING() naudojimas sąlygoje WHERE neigiamai veikia užklausos našumą, nes funkcija bus vykdoma kiekvienoje eilutėje.