logo

Funkcia SQL Server SUBSTRING().

Funkcia SUBSTRING na serveri SQL Server sa používa na extrahovanie podreťazca z reťazca, ktorý začína na určenej pozícii a má voliteľnú dĺžku.

Je to veľmi užitočné, keď potrebujete extrahovať konkrétnu časť reťazca na ďalšie spracovanie alebo analýzu.

Funguje aj funkcia SQL SUBSTRING Azure SQL Database , Azure SQL Data Warehouse , a Paralelný dátový sklad .



Syntax

Syntax funkcie SQL SUBSTRING je:

SUBSTRING(vstupný_reťazec, začiatok, dĺžka);

Parametre:

  • Vstupný_reťazec – Môže to byť znakový, binárny, textový alebo obrázkový výraz.
  • Štart – Je to celé číslo definujúce umiestnenie, kde začína vrátený podreťazec. Prvá pozícia v reťazci je 1.
  • Dĺžka - Je to kladné celé číslo, ktoré určuje počet znakov, ktoré sa majú vrátiť z podreťazca.
  • Návraty – Vracia podreťazec so špecifikovanou dĺžkou začínajúc od miesta vo vstupnom reťazci.

Príklad funkcie SQL Server SUBSTRING().

Pozrime sa na niekoľko príkladov funkcie SUBSTRING() v SQL a pochopíme, ako ju používať na serveri SQL.

Príklad funkcie SQL SUBSTRING

V tomto príklade používame funkciu SUBSTRING v SQL Serveri.

Dopyt:

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

Výkon:

príklad funkcie podreťazca

Pravidlá používania funkcie SUBSTRING() v SQL

  1. Všetky tri argumenty sú povinné vo funkcii SQL substring(). Ak počiatočná pozícia prekročí maximálny počet znakov vo výraze, funkcia SQL Server substring() nevráti nič.
  2. Celková dĺžka môže presiahnuť maximálnu dĺžku znakov pôvodného reťazca.
  3. V tomto prípade je výsledným podreťazcom celý reťazec od počiatočnej pozície výrazu po koncový znak výrazu.

Funkcia SUBSTRING() s doslovnými reťazcami

Použitie funkcie SQL SUBSTRING s doslovnými reťazcami je veľmi jednoduché, stačí zadať požadované hodnoty do syntaxe.

previesť z char na int java

Funkcia SUBSTRING() s doslovnými reťazcami Príklad

Zvážte tento príkaz funkcie SQL SUBSTRING:

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

Vezme pôvodný reťazec „SQL In Geeksforgeeks“ a extrahuje podreťazec začínajúci 7. znakom a extrahuje dĺžku 18 znakov. Nový stĺpec s aliasom ExtractString sa vráti spolu s výsledným podreťazcom.

Na extrahovanie časti reťazca na základe vopred určenej počiatočnej polohy a dĺžky sa používa funkcia SUBSTRING. Pôvodný reťazec sa odovzdá ako prvý argument funkcie a druhý argument určuje počiatočný znak, v tomto prípade siedmy. Tretí argument, ktorý má v tomto prípade 18 znakov, určuje, ako dlho sa má podreťazec extrahovať.

Účelom použitia tohto dotazu SQL je extrahovať špecifickú časť dlhšieho reťazca, ktorá je potrebná na ďalšiu analýzu alebo vytváranie správ. Môže to byť užitočné pri práci s veľkými množinami údajov, kde potrebujeme extrahovať a manipulovať s konkrétnymi informáciami z dlhého reťazca textu.

Výkon

funkcia substring() s výstupom príkladu doslovných reťazcov

Funkcia SUBSTRING() so stĺpcami tabuľky

Ak chcete použiť funkciu SUBSTRING() so stĺpcami tabuľky, najprv vytvoríme tabuľku Player_Details , ktorý má tri stĺpce: ID hráča, Meno hráča a Mesto. Keďže stĺpec PlayerId je určený ako primárny kľúč, každý riadok v tabuľke bude mať ako svoj identifikátor iný PlayerId.

Po vytvorení tabuľky sa do tabuľky pridá desať riadkov údajov pomocou príkazu INSERT INTO. Zatiaľ čo stĺpec PlayerId bude automaticky vygenerovaný ako jedinečný identifikátor pre každý riadok, stĺpce PlayerName a City majú hodnoty špecifikované pre každý riadok.

Dopyt :

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

Výkon:

nbsp

vytvorená tabuľka

Príklad funkcie SUBSTRING() so stĺpcami tabuľky

V tomto príklade použijeme funkciu SUBSTRING() na stĺpec tabuľky.

Dopyt

pričom slučka java
  SELECT SUBSTRING  (PlayerName, 1, 3)  AS   ExtractString   FROM   Player_Details;>

Výkon

funkcia substring() s výstupom príkladu stĺpcov tabuľky

Stĺpec PlayerName v poddotazi dostane funkciu SUBSTRING, ktorá vyberie prvé tri znaky každého mena. Výsledkom tejto operácie podreťazca je vrátenie stĺpca PlayerName z poddotazu v novom stĺpci s aliasom ExtractString.

Použitie SUBSTRING na vnorených dopytoch

Za predpokladu, že chcete použiť funkciu SUBSTRING na vnorený dotaz v tabuľke player_Details, môžete použiť nasledujúci kód SQL

Dopyt

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

Výkon

img

Aby bolo možné vybrať všetky riadky z tabuľky Player_Details, kde sa stĺpec City rovná New Yorku, tento dotaz SQL najprv vytvorí vnorený dotaz. Odvodená tabuľka alebo poddotaz, ktorý obsahuje výsledky tohto vnoreného dotazu, sa potom použije ako vstup pre funkciu SUBSTRING.

Stĺpec PlayerName v poddotazi dostane funkciu SUBSTRING, ktorá vyberie prvé tri znaky každého mena. Výsledok tejto operácie podreťazca sa potom vráti spolu so stĺpcom City z poddotazu v novom stĺpci s aliasom ShortenedName.

Dôležitá funkcia O funkcii SQL SUBSTRING

  • Funkcia SUBSTRING() extrahuje podreťazec z reťazca, začínajúc na zadanej pozícii a s voliteľnou dĺžkou.
  • Môže sa použiť s doslovnými reťazcami alebo stĺpcami v tabuľke.
  • The LEFT() a SPRÁVNY() funkcie sú tiež implementáciou funkcie SUBSTRING().
  • Použitie SUBSTRING() v klauzule WHERE negatívne ovplyvňuje výkon dotazu, pretože funkcia sa vykoná pre každý riadok.