Funkcija SQL Server SUBSTRING().

Funkcija SQL Server SUBSTRING().

Funkcija SUBSTRING v strežniku SQL Server se uporablja za ekstrahiranje podniza iz niza, ki se začne na določenem mestu in z neobvezno dolžino.

Zelo uporaben je, ko morate ekstrahirati določen del niza za nadaljnjo obdelavo ali analizo.

Funkcija SQL SUBSTRING deluje tudi v Zbirka podatkov Azure SQL , Podatkovno skladišče Azure SQL , in Vzporedno skladišče podatkov .

Sintaksa

Sintaksa funkcije SUBSTRING SQL je:

SUBSTRING(vhodni_niz, začetek, dolžina);

Parametri:

  • Vnosni_niz – Lahko je znakovni, binarni, besedilni ali slikovni izraz.
  • Začetek – To je celo število, ki določa lokacijo, kjer se vrnjeni podniz začne. Prvi položaj v nizu je 1.
  • Dolžina – To je pozitivno celo število, ki določa število znakov, ki jih vrne podniz.
  • Vračila – Vrne podniz z določeno dolžino, ki se začne od lokacije v vhodnem nizu.

Primer funkcije SQL Server SUBSTRING().

Oglejmo si nekaj primerov funkcije SUBSTRING() v SQL in razumemo, kako jo uporabiti v strežniku SQL.

Primer funkcije SQL SUBSTRING

V tem primeru uporabljamo funkcijo SUBSTRING v strežniku SQL Server.

poizvedba:

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

Izhod:

primer funkcije podniza

Pravila za uporabo funkcije SUBSTRING() v SQL

  1. Vsi trije argumenti so potrebni v funkciji SQL substring(). Če začetni položaj presega največje število znakov v izrazu, funkcija SQL Server substring() ne vrne ničesar.
  2. Skupna dolžina lahko preseže največjo dolžino znakov izvirnega niza.
  3. V tem primeru je dobljeni podniz celoten niz od začetnega položaja izraza do končnega znaka izraza.

SUBSTRING() Funkcija z dobesednimi nizi

Uporaba funkcije SQL SUBSTRING z dobesednimi nizi je zelo enostavna, samo vstavite želene vrednosti v sintakso.

Primer funkcije SUBSTRING() z dobesednimi nizi

Razmislite o tem ukazu funkcije SQL SUBSTRING:

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

Vzel bo izvirni niz 'SQL In Geeksforgeeks' in izvlekel podniz, ki se začne s 7. znakom in izvlekel dolžino 18 znakov. Nov stolpec z vzdevkom ExtractString bo vrnjen skupaj z nastalim podnizom.

Za ekstrahiranje odseka niza na podlagi vnaprej določenega začetnega položaja in dolžine se uporabi funkcija SUBSTRING. Prvotni niz je posredovan kot prvi argument funkcije, drugi argument pa določa začetni znak, v tem primeru sedmi. Tretji argument, ki ima v tem primeru 18 znakov, določa, kako dolgo naj bo podniz ekstrahiran.

Namen uporabe te poizvedbe SQL je ekstrahiranje določenega dela daljšega niza, ki je potreben za nadaljnjo analizo ali poročanje. Lahko je koristen, ko imamo opravka z velikimi nabori podatkov, kjer moramo iz dolgega niza besedila izvleči in manipulirati določene informacije.

Izhod

funkcija substring() s primerom dobesednih nizov

Funkcija SUBSTRING() s stolpci tabele

Za uporabo funkcije SUBSTRING() s stolpci tabele bomo najprej ustvarili tabelo Player_Details , ki ima tri stolpce: PlayerId, PlayerName in City. Ker je stolpec PlayerId označen kot primarni ključ, bo vsaka vrstica v tabeli imela drugačen PlayerId kot identifikator.

Deset vrstic podatkov je dodanih v tabelo z uporabo stavka INSERT INTO, potem ko je bila tabela ustvarjena. Medtem ko bo stolpec PlayerId samodejno ustvarjen kot enolični identifikator za vsako vrstico, imata stolpca PlayerName in City vrednosti, določene za vsako vrstico.

Poizvedba:

  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'); 

Izhod:

tabela ustvarjena

Primer funkcije SUBSTRING() s stolpci tabele

V tem primeru bomo uporabili funkcijo SUBSTRING() v stolpcu tabele.

Poizvedba

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

Izhod

funkcija substring() s primerom izpisa stolpcev tabele

Stolpec PlayerName v podpoizvedbi prejme funkcijo SUBSTRING, ki izbere prve tri znake vsakega imena. Rezultat te operacije podniza je vrnitev stolpca PlayerName iz podpoizvedbe v novem stolpcu z vzdevkom ExtractString.

Uporaba SUBSTRING pri ugnezdenih poizvedbah

Ob predpostavki, da želite uporabiti funkcijo SUBSTRING pri ugnezdeni poizvedbi v tabeli player_Details, lahko uporabite naslednjo kodo SQL

Poizvedba

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

Izhod

img

Če želite izbrati vse vrstice iz tabele Player_Details, kjer je stolpec City enak New York, ta poizvedba SQL najprej ustvari ugnezdeno poizvedbo. Izpeljana tabela ali podpoizvedba, ki vsebuje rezultate te ugnezdene poizvedbe, se nato uporabi kot vhod za funkcijo SUBSTRING.

Stolpec PlayerName v podpoizvedbi prejme funkcijo SUBSTRING, ki izbere prve tri znake vsakega imena. Rezultat te operacije podniza je nato vrnjen poleg stolpca Mesto iz podpoizvedbe v novem stolpcu z vzdevkom ShortenedName.

Pomembna funkcija o funkciji SUBSTRING SQL

  • Funkcija SUBSTRING() izvleče podniz iz niza, ki se začne na določenem mestu in z neobvezno dolžino.
  • Uporablja se lahko z dobesednimi nizi ali stolpci v tabeli.
  • The LEVO() in PRAV() funkcije so tudi implementacija funkcije SUBSTRING().
  • Uporaba SUBSTRING() v klavzuli WHERE negativno vpliva na zmogljivost poizvedbe, saj bo funkcija izvedena za vsako vrstico.