Creați subșiruri de șiruri în PostgreSQL

Creati Subsiruri De Siruri In Postgresql



Există cazuri în care este posibil să doriți să extrageți o anumită secțiune (subșir) dintr-un șir. Este posibil să fiți interesat doar de secțiunea dată și să doriți să omiteți cealaltă secțiune a șirului din ieșire. Imaginați-vă un caz în care aveți un nume complet, cum ar fi „fname lname” ca un șir și doriți doar să extrageți „fname” din ieșire. Pentru aceasta, trebuie să utilizați funcția de subșir PostgreSQL. Am pregătit un ghid detaliat de urmat, inclusiv exemple pentru a vă ajuta să înțelegeți cum puteți crea subșiruri de șiruri în PostgreSQL.

Exemple despre cum se creează subșiruri de șiruri în PostgreSQL

Primul lucru pe care trebuie să-l verificăm este sintaxa.

SUBSTRING( șir/nume_coloană, poziția_începută, lungime)

În sintaxa dată, puteți specifica șirul pentru care doriți să creați un subșir sau să specificați coloana din tabelul dvs. Apoi, trebuie să specificați poziția din șir de unde doriți să înceapă subșirul. În cele din urmă, specificați lungimea subșirului sau poziția finală a șirului. Să avem câteva exemple pentru a-l vedea în acțiune.







Exemplul 1: Specificați lungimea subșirului

Când aveți șirul țintă, puteți seta cât de lung ar trebui să fie subșirul. De exemplu, dacă aveți șirul dvs. ca „Linuxhint” și doriți să vă creați subșirul ca „Linux”, executați următoarea comandă:



SELECT SUBSTRING('Linuxhint' FROM 1 FOR 5) AS nume de utilizator;

Folosim cuvântul cheie FROM pentru a specifica poziția noastră de început și cuvântul cheie FOR pentru a specifica lungimea subșirului. „Numele de utilizator” este numele pe care îl dăm rezultatului nostru.



Obținem următoarea ieșire prin executarea comenzii. Observați cum am obținut subșirul dorit ca rezultat:





Să presupunem că doriți ca subșirul creat dintr-o poziție de început diferită în șirul dvs. De exemplu, dacă doriți „hint” ca subșir, pur și simplu schimbați poziția de început și lungimea.



Pentru aceasta, executăm comanda noastră după cum urmează:

Exemplul 2: Specificați poziția subșirului

Uneori, este posibil să aveți șirul dvs., dar nu știți lungimea exactă a subșirului. Cu toate acestea, puteți specifica în ce poziție să începeți crearea subșirului. Ieșirea afișează toate secțiunile șirurilor de la poziția specificată până la sfârșit.

Pentru acest exemplu, avem șirul nostru ca „Hello Linuxhint”. Pentru a obține „Linuxhint” ca subșir fără a specifica poziția acestuia, trebuie doar să specificăm în ce poziție vrem să creăm subșirul. Pentru acest caz, începem DE LA poziția 6. Astfel, comanda noastră este următoarea:

SELECT SUBSTRING(‘Hello Linuxhint’ FROM 6) AS nume de utilizator;

Exemplul 3: Specificați pozițiile de început și de sfârșit

Având în vedere un șir, puteți crea un subșir specificând pozițiile de început și de sfârșit. În acest fel, chiar dacă lungimea șirului este mai mare decât subșirul dorit, îl va crea doar pe baza pozițiilor de început și de sfârșit specificate.

Folosind „Hello Linuxhint” ca șir, putem crea subșirul nostru ca „Hello Linux” și omite celelalte secțiuni specificând pozițiile de început și de sfârșit, după cum urmează:

SELECT SUBSTRING('Hello Linuxhint', 1, 11) AS nume de utilizator;

Nu este necesar niciun cuvânt cheie pentru acest caz, doar pozițiile de început și de sfârșit.

Exemplul 4: Lucrul cu un tabel PostgreSQL

De asemenea, este posibil să creați un subșir pe baza valorilor pe care le selectați dintr-o coloană dată din tabelul dvs. Pentru exemplul nostru, folosim tabelul „clienți”.

Să presupunem că vizam coloana „cust_email” și dorim să creăm un subșir specificând lungimea. Am avea comanda noastră după cum urmează:

Observați cum, pentru fiecare valoare din coloană, rezultatul este un subșir de lungime 3 a șirului original.

Să actualizăm tabelul cu un nume complet în coloana noastră de nume. Noul nostru tabel arată astfel:

Acum, dacă vrem să extragem doar prima secțiune din coloana de nume, care este prenumele fiecăruia dintre clienții noștri, crearea unui subșir pentru coloana de nume va face truc. Aici, trebuie să specificăm poziția de pornire. Pentru lungimea subșirului, am setat ca aceasta să fie poziția din fiecare șir în care există un spațiu.

Spațiul marchează separarea dintre nume și prenume. Astfel, comanda noastră verifică poziția unde începe spațiul din șir. Apoi, selectați subșirul din prima poziție până în locul în care se întâlnește cu spațiul.

Ne rulăm comanda după cum urmează:

SELECT comanda_id, SUBSTRING(nume FROM 1 FOR POSITION( ‘ ‘ IN name) – 1) AS client_fname FROM clienți;

Selectăm „order_id” și subșirul, iar rezultatul nostru apare după cum urmează:

Așa puteți crea subșiruri din șiruri dintr-un tabel PostgreSQL.

Concluzie

PostgreSQL oferă funcția subșir care permite utilizatorilor să creeze un subșir folosind diferite criterii. În funcție de obiectivul dvs., puteți specifica lungimea subșirului sau pozițiile de început și de sfârșit. Exemplele care sunt acoperite în această postare vă vor ajuta să vă simțiți confortabil cu crearea subșirurilor în PostgreSQL. Continuați să exersați pentru a înțelege conceptul.