logo

Funció SQL Server SUBSTRING().

Funció SUBSTRING a SQL Server s'utilitza per extreure una subcadena d'una cadena, començant en una posició especificada i amb una longitud opcional.

És molt útil quan necessiteu extreure una part específica d'una cadena per a un posterior processament o anàlisi.



La funció SQL SUBSTRING també funciona Base de dades Azure SQL , Azure SQL Data Warehouse , i Magatzem de dades paral·lel .

Sintaxi

La sintaxi de la funció SQL SUBSTRING és:

SUBSTRING(cadena_entrada, inici, longitud);



Paràmetres:

  • Cadena_entrada - Pot ser una expressió de caràcter, binari, text o imatge.
  • Començar - És un nombre enter que defineix la ubicació on comença la subcadena retornada. La primera posició de la cadena és 1.
  • Llargada - És un nombre enter positiu que especifica el nombre de caràcters que es retornarà de la subcadena.
  • Devolucions - Retorna una subcadena amb una longitud especificada a partir d'una ubicació d'una cadena d'entrada.

Exemple de funció SQL Server SUBSTRING().

Vegem alguns exemples de la funció SUBSTRING() a SQL i entenem com utilitzar-la al servidor SQL.

Funció SQL SUBSTRING Exemple

En aquest exemple, utilitzem la funció SUBSTRING a SQL Server.

Consulta:



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

Sortida:

exemple de funció de subcadena

Regles per utilitzar la funció SUBSTRING() en SQL

  1. Els tres arguments són necessaris a la funció SQL substring(). Si la posició inicial supera el nombre màxim de caràcters de l'expressió, la funció substring() d'SQL Server no retorna res.
  2. La longitud total pot superar la longitud màxima de caràcters de la cadena original.
  3. En aquest cas, la subcadena resultant és la cadena sencera des de la posició inicial de l'expressió fins al caràcter final de l'expressió.

SUBSTRING() Funció amb cadenes literals

Utilitzar la funció SQL SUBSTRING amb cadenes literals és molt fàcil, només cal posar els valors desitjats a la sintaxi.

mòduls de molla

Exemple de funció SUBSTRING() amb cadenes literals

Considereu aquesta ordre de funció SQL SUBSTRING:

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

Prendrà la cadena original 'SQL In Geeksforgeeks' i extreu una subcadena que comença amb el setè caràcter i extreu una longitud de 18 caràcters. Es retornarà una nova columna amb l'àlies ExtractString juntament amb la subcadena resultant.

matemàtiques aleatòries java aleatòries

Per extreure una secció d'una cadena basada en una posició inicial i una longitud predeterminades, s'utilitza la funció SUBSTRING. La cadena original es passa com a primer argument de la funció i el segon argument especifica el caràcter inicial, en aquest cas, el setè. El tercer argument, que és de 18 caràcters en aquest cas, especifica quant de temps s'ha d'extreure la subcadena.

El propòsit d'utilitzar aquesta consulta SQL és extreure una part específica d'una cadena més llarga que es necessita per a més anàlisis o informes. Pot ser útil quan es tracta de grans conjunts de dades on hem d'extreure i manipular informació específica d'una cadena llarga de text.

Sortida

funció substring() amb sortida d'exemple de cadenes literals

Funció SUBSTRING() amb columnes de taula

Per utilitzar la funció SUBSTRING() amb columnes de taula, primer crearem una taula Detalls_jugador , que té tres columnes: PlayerId, PlayerName i City. Com que la columna PlayerId està designada com a clau primària, cada fila de la taula tindrà un PlayerId diferent com a identificador.

S'afegeixen deu files de dades a la taula mitjançant la instrucció INSERT INTO després de crear la taula. Tot i que la columna PlayerId es generarà automàticament com a identificador únic per a cada fila, les columnes PlayerName i City tenen valors especificats per a cada fila.

Consulta:

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

Sortida:

taula creada

Exemple de funció SUBSTRING() amb columnes de taula

En aquest exemple, utilitzarem la funció SUBSTRING() en una columna de taula.

Consulta

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

Sortida

funció substring() amb exemple de sortida de columnes de taula

La columna PlayerName de la subconsulta rep la funció SUBSTRING, que tria els tres primers caràcters de cada nom. El resultat d'aquesta operació de subcadenes és retornar la columna PlayerName de la subconsulta en una nova columna amb l'àlies ExtractString.

char a cadena java

Utilitzant SUBSTRING en consultes niades

Suposant que voleu utilitzar la funció SUBSTRING en una consulta imbricada dins de la taula player_Details, podeu utilitzar el següent codi SQL

Consulta

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

Sortida

img

Per seleccionar totes les files de la taula Player_Details on la columna Ciutat és igual a Nova York, aquesta consulta SQL crea primer una consulta imbricada. A continuació, s'utilitza una taula derivada o subconsulta que conté els resultats d'aquesta consulta imbricada com a entrada per a la funció SUBSTRING.

La columna PlayerName de la subconsulta rep la funció SUBSTRING, que tria els tres primers caràcters de cada nom. El resultat d'aquesta operació de subcadenes es retorna al costat de la columna Ciutat de la subconsulta en una nova columna amb l'àlies ShortenedName.

Funció important Sobre la funció SQL SUBSTRING

  • La funció SUBSTRING() extreu una subcadena d'una cadena, començant en una posició especificada i amb una longitud opcional.
  • Es pot utilitzar amb cadenes o columnes literals en una taula.
  • El ESQUERRA () i DRET() Les funcions també són implementació de la funció SUBSTRING().
  • L'ús de SUBSTRING() a la clàusula WHERE afecta negativament el rendiment de la consulta, ja que la funció s'executarà per a cada fila.