logo

SQL Server SUBSTRING() -funktio

SUBSTRING-toiminto SQL Serverissä käytetään poimimaan alimerkkijono merkkijonosta alkaen määritetystä kohdasta ja valinnaisella pituudella.

Se on erittäin hyödyllinen, kun haluat purkaa tietty osa merkkijonosta jatkokäsittelyä tai analysointia varten.



Myös SQL SUBSTRING -toiminto toimii Azure SQL -tietokanta , Azure SQL Data Warehouse , ja Rinnakkais tietovarasto .

Syntaksi

SQL SUBSTRING -funktion syntaksi on:

SUBSTRING(syötemerkkijono, alku, pituus);



Parametrit:

  • Input_string – Se voi olla merkki-, binääri-, teksti- tai kuvailmaisu.
  • Alkaa - Se on kokonaisluku, joka määrittää paikan, josta palautettu osamerkkijono alkaa. Ensimmäinen paikka merkkijonossa on 1.
  • Pituus - Se on positiivinen kokonaisluku, joka määrittää alimerkkijonosta palautettavien merkkien määrän.
  • Palautukset – Se palauttaa määrätyn pituisen alimerkkijonon, joka alkaa syötemerkkijonon kohdasta.

SQL Server SUBSTRING() -funktioesimerkki

Katsotaanpa joitain esimerkkejä SUBSTRING()-funktiosta SQL:ssä ja ymmärrämme kuinka sitä käytetään SQL-palvelimessa.

Esimerkki SQL SUBSTRING -funktiosta

Tässä esimerkissä käytämme SQL Serverin SUBSTRING-funktiota.

Kysely:



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

Lähtö:

osamerkkijonofunktio esimerkki

Säännöt SUBSTRING()-funktion käyttämiselle SQL:ssä

  1. Kaikki kolme argumenttia vaaditaan SQL-alimerkkijono()-funktiossa. Jos aloituskohta ylittää lausekkeen merkkien enimmäismäärän, SQL Server substring() -funktio ei palauta mitään.
  2. Kokonaispituus voi ylittää alkuperäisen merkkijonon enimmäispituuden.
  3. Tässä tapauksessa tuloksena oleva osamerkkijono on koko merkkijono lausekkeen aloituskohdasta lausekkeen loppumerkkiin.

SUBSTRING() Funktio, jossa on kirjaimellisia merkkijonoja

SQL SUBSTRING -funktion käyttäminen kirjaimellisten merkkijonojen kanssa on erittäin helppoa, laita vain haluamasi arvot syntaksiin.

lue csv-tiedostosta javassa

SUBSTRING() Funktio, jossa on kirjaimellisia merkkijonoja Esimerkki

Harkitse tätä SQL SUBSTRING -funktion komentoa:

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

Se ottaa alkuperäisen merkkijonon 'SQL In Geeksforgeeks' ja purkaa alimerkkijonon, joka alkaa 7. merkistä ja poimii 18 merkin pituuden. Uusi sarake, jonka alias on ExtractString, palautetaan tuloksena olevan alimerkkijonon kanssa.

Merkkijonon osan poimimiseksi ennalta määrätyn aloituspaikan ja pituuden perusteella käytetään SUBSTRING-toimintoa. Alkuperäinen merkkijono välitetään funktion ensimmäisenä argumenttina, ja toinen argumentti määrittää aloitusmerkin, tässä tapauksessa seitsemännen. Kolmas argumentti, joka on tässä tapauksessa 18 merkkiä, määrittää, kuinka kauan alimerkkijono puretaan.

Tämän SQL-kyselyn käytön tarkoituksena on poimia tietty osa pidemmästä merkkijonosta, jota tarvitaan lisäanalyysiä tai raportointia varten. Se voi olla hyödyllistä käsiteltäessä suuria tietojoukkoja, joissa meidän täytyy poimia ja käsitellä tiettyjä tietoja pitkästä tekstijonosta.

Lähtö

substring()-funktio, jossa on kirjaimellinen merkkijonojen esimerkkitulostus

1 miljoona numeroina

SUBSTRING() Taulukon sarakkeiden funktio

Jos haluat käyttää SUBSTRING()-funktiota taulukon sarakkeiden kanssa, luomme ensin taulukon Player_Details , jossa on kolme saraketta: PlayerId, PlayerName ja City. Koska PlayerId-sarake on määritetty ensisijaiseksi avaimeksi, jokaisella taulukon rivillä on eri PlayerId-tunniste.

Kymmenen riviä tietoja lisätään taulukkoon INSERT INTO -käskyllä ​​taulukon luomisen jälkeen. Vaikka PlayerId-sarake luodaan automaattisesti yksilöiväksi tunnisteeksi jokaiselle riville, PlayerName- ja City-sarakkeilla on kullekin riville määritetty arvo.

Kysely:

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

Lähtö:

taulukko luotu

SUBSTRING()-funktio taulukon sarakkeilla Esimerkki

Tässä esimerkissä käytämme funktiota SUBSTRING() taulukon sarakkeessa.

Kysely

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

Lähtö

substring()-funktio taulukon sarakkeiden esimerkkitulosteen kanssa

Alikyselyn PlayerName-sarake vastaanottaa SUBSTRING-funktion, joka valitsee kunkin nimen kolme ensimmäistä merkkiä. Tämän alimerkkijonotoiminnon tuloksena PlayerName-sarake palautetaan alikyselystä uuteen sarakkeeseen, jonka alias on ExtractString.

SUBSTRING:n käyttö sisäkkäisissä kyselyissä

Olettaen, että haluat käyttää SUBSTRING-funktiota sisäkkäisissä kyselyissä player_Details -taulukossa, voit käyttää seuraavaa SQL-koodia

Kysely

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

Lähtö

img

java hashmap

Tämä SQL-kysely luo ensin sisäkkäisen kyselyn, jotta voit valita Player_Details -taulukosta kaikki rivit, joissa Kaupunki-sarake vastaa New Yorkia. Tämän sisäkkäisen kyselyn tulokset sisältävää johdettua taulukkoa tai alikyselyä käytetään sitten syötteenä SUBSTRING-funktiolle.

Alikyselyn PlayerName-sarake vastaanottaa SUBSTRING-funktion, joka valitsee kunkin nimen kolme ensimmäistä merkkiä. Tämän osamerkkijonotoiminnon tulos palautetaan sitten Kaupunki-sarakkeen rinnalle alikyselystä uudessa sarakkeessa, jonka alias on ShortenedName.

Tärkeä toiminto Tietoja SQL SUBSTRING -funktiosta

  • SUBSTRING()-funktio erottaa merkkijonosta alimerkkijonon, joka alkaa määritetystä kohdasta ja jonka pituus on valinnainen.
  • Sitä voidaan käyttää taulukon kirjaimellisten merkkijonojen tai sarakkeiden kanssa.
  • The LEFT() ja OIKEA() funktiot ovat myös SUBSTRING()-funktion toteutusta.
  • SUBSTRING()-funktion käyttäminen WHERE-lauseessa vaikuttaa negatiivisesti kyselyn suorituskykyyn, koska funktio suoritetaan jokaiselle riville.