Funcția SQL Server SUBSTRING().
Funcția SUBSTRING în SQL Server este folosit pentru a extrage un subșir dintr-un șir, începând de la o poziție specificată și cu o lungime opțională.
Este foarte util atunci când trebuie să extrageți o anumită porțiune a unui șir pentru procesare sau analiză ulterioară.
Funcția SQL SUBSTRING funcționează și în Baza de date Azure SQL , Azure SQL Data Warehouse , și Depozitul de date paralel .
Sintaxă
Sintaxa funcției SQL SUBSTRING este:
SUBSTRING(șir_input, început, lungime);
Parametri:
- șir_input – Poate fi o expresie de caracter, binar, text sau imagine.
- Start - Este un număr întreg care definește locația de unde începe subșirul returnat. Prima poziție din șir este 1.
- lungime - Este un număr întreg pozitiv care specifică numărul de caractere care urmează să fie returnate din subșir.
- Se intoarce - Returnează un subșir cu o lungime specificată pornind de la o locație dintr-un șir de intrare.
Exemplu de funcție SQL Server SUBSTRING().
Să ne uităm la câteva exemple ale funcției SUBSTRING() în SQL și să înțelegem cum să o folosim în serverul SQL.
Funcția SQL SUBSTRING Exemplu
În acest exemplu, folosim funcția SUBSTRING în SQL Server.
Interogare:
SELECT SUBSTRING ('techcodeview.com',1,5); Ieșire:
Reguli pentru utilizarea funcției SUBSTRING() în SQL
- Toate cele trei argumente sunt necesare în funcția SQL substring(). Dacă poziția de pornire depășește numărul maxim de caractere din expresie, funcția SQL Server substring() nu returnează nimic.
- Lungimea totală poate depăși lungimea maximă de caractere a șirului original.
- În acest caz, subșirul rezultat este întregul șir de la poziția de început a expresiei până la caracterul de sfârșit al expresiei.
SUBSTRING() Funcție cu șiruri literale
Utilizarea funcției SQL SUBSTRING cu șiruri de caractere este foarte ușoară, doar puneți valorile dorite în sintaxă.
SUBSTRING() Funcție cu șiruri literale Exemplu
Luați în considerare această comandă a funcției SQL SUBSTRING:
SELECT SUBSTRING ( 'SQL In Geeksforgeeks', 7, 18 ) AS ExtractString
Va lua șirul original „SQL În Geeksforgeeks” și va extrage un subșir care începe cu al șaptelea caracter și va extrage o lungime de 18 caractere. O nouă coloană cu aliasul ExtractString va fi returnată împreună cu subșirul rezultat.
Pentru a extrage o secțiune a unui șir pe baza unei poziții de pornire predeterminate și a unei lungimi, este utilizată funcția SUBSTRING. Șirul original este transmis ca prim argument al funcției, iar al doilea argument specifică caracterul de început, în acest caz, al șaptelea. Al treilea argument, care are 18 caractere în acest caz, specifică cât de lungă trebuie extras subșirul.
Scopul utilizării acestei interogări SQL este de a extrage o anumită parte dintr-un șir mai lung care este necesar pentru analize sau raportări ulterioare. Poate fi util atunci când avem de-a face cu seturi mari de date în care trebuie să extragem și să manipulăm informații specifice dintr-un șir lung de text.
Ieșire
Funcția SUBSTRING() cu coloane de tabel
Pentru a folosi funcția SUBSTRING() cu coloane de tabel, vom crea mai întâi un tabel Player_Details , care are trei coloane: PlayerId, PlayerName și City. Deoarece coloana PlayerId este desemnată ca cheie primară, fiecare rând din tabel va avea un alt PlayerId ca identificator.
Zece rânduri de date sunt adăugate la tabel folosind instrucțiunea INSERT INTO după ce tabelul a fost creat. În timp ce coloana PlayerId va fi generată automat ca un identificator unic pentru fiecare rând, coloanele PlayerName și City au valori specificate pentru fiecare rând.
Interogare:
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');
Ieșire:
SUBSTRING() Funcție cu coloane de tabel Exemplu
În acest exemplu, vom folosi funcția SUBSTRING() pe o coloană de tabel.
Interogare
SELECT SUBSTRING (PlayerName, 1, 3) AS ExtractString FROM Player_Details;
Ieșire
Coloana PlayerName din subinterogare primește funcția SUBSTRING, care alege primele trei caractere ale fiecărui nume. Rezultatul acestei operațiuni subșir este de a returna coloana PlayerName din subinterogare într-o coloană nouă cu alias-ul ExtractString.
Utilizarea SUBSTRING pe o interogări imbricate
Presupunând că doriți să utilizați funcția SUBSTRING pe o interogare imbricată în tabelul player_Details, puteți utiliza următorul cod SQL
Interogare
SELECT SUBSTRING (subquery.PlayerName, 1, 3) AS ShortenedName, subquery.City FROM ( SELECT * FROM Player_Details WHERE City = 'New York' ) AS subquery;
Ieșire
Pentru a selecta toate rândurile din tabelul Player_Details unde coloana Oraș este egală cu New York, această interogare SQL creează mai întâi o interogare imbricată. Un tabel derivat sau o subinterogare care conține rezultatele acestei interogări imbricate este apoi folosită ca intrare pentru funcția SUBSTRING.
Coloana PlayerName din subinterogare primește funcția SUBSTRING, care alege primele trei caractere ale fiecărui nume. Rezultatul acestei operațiuni subșir este apoi returnat alături de coloana Oraș din subinterogare într-o coloană nouă cu alias ShortenedName.
Funcție importantă Despre funcția SQL SUBSTRING
- Funcția SUBSTRING() extrage un subșir dintr-un șir, începând de la o poziție specificată și cu o lungime opțională.
- Poate fi folosit cu șiruri sau coloane literale dintr-un tabel.
- The STÂNGA() și DREAPTA() funcțiile sunt, de asemenea, implementarea funcției SUBSTRING().
- Utilizarea SUBSTRING() în clauza WHERE are un impact negativ asupra performanței interogării, deoarece funcția va fi executată pentru fiecare rând.