Creeu subcadenes de cadenes a PostgreSQL

Creeu Subcadenes De Cadenes A Postgresql



Hi ha casos en què és possible que vulgueu extreure una secció determinada (subcadena) d'una cadena. Pot ser que només estigueu interessat en la secció donada i vulgueu deixar de banda l'altra secció de la cadena a la vostra sortida. Imagineu un cas en què tingueu un nom complet com ara 'fname lname' com una cadena i només voleu extreure el 'fname' a la vostra sortida. Per això, heu d'utilitzar la funció de subcadena PostgreSQL. Hem preparat una guia detallada per seguir, que inclou exemples per ajudar-vos a entendre com podeu crear subcadenes de cadenes a PostgreSQL.

Exemples sobre com crear subcadenes de cadenes a PostgreSQL

El primer que hem de comprovar és la sintaxi.

SUBSTRING(cadena/nom_columna, posició_inici, longitud)

A la sintaxi donada, podeu especificar la cadena que voleu crear una subcadena o especificar la columna de la vostra taula. A continuació, heu d'especificar la posició de la cadena des d'on voleu que comenci la subcadena. Finalment, especifiqueu la longitud de la subcadena o la posició final de la cadena. Anem a tenir uns quants exemples per veure-ho en acció.







Exemple 1: especifiqueu la longitud de la subcadena

Quan tingueu la vostra cadena de destinació, podeu establir quant de llarg hauria de ser la subcadena. Per exemple, si teniu la vostra cadena com a 'Linuxhint' i voleu crear la vostra subcadena com a 'Linux', executeu l'ordre següent:



SELECT SUBSTRING('Linuxhint' FROM 1 FOR 5) COM a nom d'usuari;

Estem utilitzant la paraula clau FROM per especificar la nostra posició inicial i la paraula clau FOR per especificar la longitud de la subcadena. El 'nom d'usuari' és el nom que donem a la nostra sortida.



Obtenim la següent sortida executant l'ordre. Observeu com hem obtingut la nostra subcadena desitjada com a sortida:





Suposem que voleu que la subcadena es creï a partir d'una posició inicial diferent a la vostra cadena. Per exemple, si voleu una 'pista' com a subcadena, simplement canvieu la posició inicial i la longitud.



Per això, executem la nostra comanda de la següent manera:

Exemple 2: especifiqueu la posició de la subcadena

De vegades, és possible que tingueu la vostra cadena però no sabeu la longitud exacta de la subcadena. Tanmateix, podeu especificar en quina posició començareu a crear la subcadena. La sortida mostra totes les seccions de cadena des de la posició especificada fins al final.

Per a aquest exemple, tenim la nostra cadena com a 'Hello Linuxhint'. Per obtenir 'Linuxhint' com a subcadena sense especificar la seva posició, només hem d'especificar en quina posició volem crear la subcadena. Per a aquest cas, comencem DES de la posició 6. Així, la nostra ordre és la següent:

SELECT SUBSTRING('Hello Linuxhint' FROM 6) COM a nom d'usuari;

Exemple 3: especifiqueu les posicions inicial i final

Donada una cadena, podeu crear una subcadena especificant les posicions inicial i final. D'aquesta manera, encara que la longitud de la cadena sigui més llarga que la subcadena desitjada, només la crearà en funció de les posicions inicial i final especificades.

Utilitzant 'Hello Linuxhint' com a cadena, podem crear la nostra subcadena com 'Hello Linux' i ometre les altres seccions especificant les posicions inicial i final de la següent manera:

SELECT SUBSTRING('Hola Linuxhint', 1, 11) AS nom d'usuari;

No es requereix cap paraula clau per a aquest cas, només les posicions inicial i final.

Exemple 4: treballant amb una taula PostgreSQL

També és possible crear una subcadena basada en els valors que seleccioneu d'una columna determinada de la taula. Per al nostre exemple, utilitzem la taula 'clients'.

Suposem que estem orientats a la columna 'cust_email' i volem crear una subcadena especificant la longitud. Tindríem el nostre comandament de la següent manera:

Observeu com, per a cada valor de la columna, la sortida és una subcadena de longitud 3 de la cadena original.

Actualitzem la taula amb un nom complet a la nostra columna de nom. La nostra nova taula té el següent aspecte:

Ara, si només volem extreure la primera secció de la columna de nom, que és el primer nom de cadascun dels nostres clients, crear una subcadena per a la columna de nom farà el truc. Aquí, hem d'especificar la posició inicial. Per a la longitud de la subcadena, establim que sigui la posició de cada cadena on hi ha un espai.

L'espai marca la separació entre el nom i el cognom. Així, la nostra comanda comprova la posició on comença l'espai a la cadena. A continuació, seleccioneu la subcadena des de la primera posició fins a on es troba amb l'espai.

Executem la nostra comanda de la següent manera:

SELECT order_id, SUBSTRING(nom DE 1 PER A LA POSICIÓ (' ' IN nom) – 1) AS client_fname FROM clients;

Seleccionem el 'order_id' i la subcadena, i la nostra sortida apareix de la següent manera:

Així és com podeu crear subcadenes a partir de cadenes d'una taula PostgreSQL.

Conclusió

PostgreSQL ofereix la funció de subcadena que permet als usuaris crear una subcadena utilitzant diferents criteris. Segons el vostre objectiu, podeu especificar la longitud de la subcadena o les posicions inicial i final. Els exemples que es tracten en aquesta publicació us ajudaran a sentir-vos còmodes amb la creació de subcadenes a PostgreSQL. Segueix practicant per comprendre el concepte.