PostgreSQL SUBSTRING() Funcție cu exemplu regex

Ce Este PostgreSQL Subșir?

PostgreSQL Funcția de subșir te ajută să exprimitract și returnează o parte dintr-un șir de caractere. În loc să returneze întregul șir de caractere, returnează doar o parte din acesta.

Sintaxă

PostgreSQL funcția subșir are următoarea sintaxă:

substring( string [from starting_position] [for length] )

parametrii

Nume Descriere
şir Șirul sursă al cărui tip de date este varchar, char, șir etc.
poziție_de_pornire Este un parametru opțional. Indică locul unde extracțiunea șirului va începe. Dacă omiteți acest parametru, exemplultracțiunea va începe de la poziția 1, care este primul caracter din șir.
lungime Este un parametru opțional. Indică numărul de caractere care vor fi exprimate.tracextras din șir. Dacă omiteți acest parametru, funcția va extract de la poziția_inițială până la sfârșitul șirului.

Exemple

În acest exemplu, vrem să exprimămtracprimele 4 caractere din cuvânt Guru99:

SELECT substring('Guru99' for 4);

Comanda va returna următoarele:

PostgreSQL Subșir

Nu am specificat poziția de pornire, așa că extracțiunea subșirului începe la poziția 1. Au fost exprimate 4 caracteretracted să returneze cele de mai sus.

Următorul exemplu arată cum se specifică poziția de pornire:

SELECT substring('Guru99' from 1 for 4);

Comanda va returna următoarele:

PostgreSQL Subșir

Am specificat că fostultracțiunea subșirului ar trebui să înceapă de la poziția 1 și ar trebui să fie exprimate 4 caracteretracted.

Să exprimămtract 99 din șir Guru99:

SELECT substring('Guru99' from 5);

Comanda va returna următoarele:

PostgreSQL Subșir

Am specificat poziția de pornire ca fiind 5. Deoarece numărul de caractere care trebuie exprimatetracted nu a fost specificat, fostultracțiunea a alergat până la capătul șirului.

Iată un alt exemplu:

SELECT substring('Guru99' from 5 for 2);

Comanda va returna următoarele:

PostgreSQL Subșir

Am început foștiitracțiune la poziția 5 și au fost exprimate 2 caracteretracted.

Luați în considerare tabelul Cărții de mai jos:

PostgreSQL Subșir

Vrem să ne facem o idee aproximativă despre numele fiecărei cărți. Totuși, putem extracdoar primele 15 caractere din coloana de nume a tabelului:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Comanda va returna următoarele:

PostgreSQL Subșir

Acum avem o idee aproximativă despre numele fiecărei cărți.

Potrivirea subșirurilor cu expresia regulată SQL

In PostgreSQL, putem extracun subșir care se potrivește cu o expresie regulată POSIX specificată. În acest caz, funcția subșir este utilizată cu următoarea sintaxă:

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

Iată o explicație a parametrilor de mai sus:

Șirul este șirul sursă al cărui tip de date este varchar, char, șir etc.

Mating_pattern este modelul care trebuie utilizat pentru căutarea în șir.

Exemple

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Comanda va returna următoarele:

Potrivirea subșirurilor cu expresia regulată SQL

Șirul nostru de intrare este vârsta ta este 22. În model, căutăm un model numeric în șirul nostru; atunci când acesta este găsit, funcția subșirului ar trebui să exprime doartracdouă personaje.

Cum să potriviți subșiruri folosind pgAdmin

Acum să vedem cum sunt efectuate acțiunile folosind pgAdmin.

Interogările de mai sus în care nu avem nevoie de o bază de date pot fi executate direct din fereastra editorului de interogări. Doar faceți următoarele:

Pas 1) Conectați-vă la contul dvs.
Conectați-vă la contul dvs. pgAdmin.

Pas 2) Pe pgAdmin,
Faceți clic pe pictograma Instrument de interogare.

Subșiruri de potrivire folosind pgAdmin

Se va deschide fereastra editorului de interogări.

Pas 3) Tastați interogarea.
Tastați următoarea interogare în fereastra editorului.

SELECT substring('Guru99' for 4);

Pas 4) Executați interogarea
Faceți clic pe pictograma Execute pentru a executa interogarea.

Subșiruri de potrivire folosind pgAdmin

Pas 5) Execuția interogării este finalizată.
Ar trebui să returneze următoarele:

Subșiruri de potrivire folosind pgAdmin

Exemplu 2:

SELECT substring('Guru99' from 1 for 4);

Ar trebui să returneze următoarele:

Subșiruri de potrivire folosind pgAdmin

Iată următorul exemplu:

SELECT substring('Guru99' from 5);

Ar trebui să returneze următoarele:

Subșiruri de potrivire folosind pgAdmin

Exemplu 3:

SELECT substring('Guru99' from 5 for 2);

Ar trebui să returneze următoarele:

Subșiruri de potrivire folosind pgAdmin

Acum, să rulăm exemplul folosind tabelul Book al bazei de date Demo:

Pas 1) Conectați-vă la contul dvs. pgAdmin.

Pas 2)

  1. Din bara de navigare din stânga, faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Subșiruri de potrivire folosind pgAdmin

Pas 3) Introduceți interogarea în editorul de interogări:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Pas 4) Faceți clic pe butonul Execute.

Subșiruri de potrivire folosind pgAdmin

Ar trebui să returneze următoarele:

PostgreSQL Subșir

Acum avem o idee de bază despre numele fiecărei cărți.

Potrivirea subșirurilor cu expresia regulată SQL

Pentru a realiza același lucru pe pgAdmin, faceți următoarele:

Pas 1) Conectați-vă la contul dvs. pgAdmin.

Pas 2) Faceți clic pe pictograma Instrument de interogare.

Potrivirea subșirurilor cu expresia regulată SQL

Se va deschide fereastra editorului de interogări.

Pas 3) Tastați următoarea interogare în fereastra editorului.

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Pas 4) Faceți clic pe pictograma Execute pentru a executa interogarea.

Potrivirea subșirurilor cu expresia regulată SQL

Ar trebui să returneze următoarele:

Potrivirea subșirurilor cu expresia regulată SQL

Rezumat

  • PostgreSQL Funcția subșir ajută la ex.tracting și returnând doar o parte dintr-un șir de caractere.
  • Primul caracter al șirului este în poziția 1.
  • Dacă numărul de caractere care trebuie exprimatetracDacă nu este specificat un element extras din șir, funcția va expiratract caractere de la poziția de început specificată până la sfârșitul șirului.
  • Dacă numărul de caractere care trebuie exprimatetracDacă este specificat ted, va fi exprimat doar acel număr de caractere.tracted.

Descărcați baza de date folosită în acest tutorial

Rezumați această postare cu: