PostgreSQL SUBSTRING () s příkladem

Obsah:

Anonim

Co je PostgreSQL Substring?

Funkce podřetězce PostgreSQL vám pomůže extrahovat a vrátit část řetězce. Místo vrácení celého řetězce vrátí pouze jeho část.

V tomto tutoriálu PostgreSQL se naučíte:

  • Co je Postgresql Substring?
  • Syntax
  • Příklady
  • Shoda podřetězců s regulárním výrazem SQL
  • Pomocí pgAdmin

Syntax

Funkce podřetězce PostgreSQL má následující syntaxi:

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

Parametry

název Popis
tětiva Zdrojový řetězec, jehož datový typ je varchar, char, string atd.
začáteční pozice Je to volitelný parametr. Označuje místo, kde začne extrakce řetězce. Pokud tento parametr vynecháte, bude extrakce zahájena od pozice 1, což je první znak v řetězci.
délka Je to volitelný parametr. Označuje počet znaků, které mají být z řetězce extrahovány. Pokud tento parametr vynecháte, funkce se extrahuje z počáteční_pozice na konec řetězce.

Příklady

V tomto příkladu chceme ze slova Guru99 extrahovat první 4 znaky:

SELECT substring('Guru99' for 4);

Příkaz vrátí následující:

Nezadali jsme počáteční pozici, takže extrakce podřetězce začíná na pozici 1. Byly extrahovány 4 znaky, aby se vrátilo výše uvedené.

Následující příklad ukazuje, jak určit počáteční pozici:

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

Příkaz vrátí následující:

Zadali jsme, že extrakce podřetězce by měla začínat od pozice 1 a měly by být extrahovány 4 znaky.

Vyjměte 99 z řetězce Guru99:

SELECT substring('Guru99' from 5);

Příkaz vrátí následující:

Výchozí pozici jsme určili jako 5. Protože nebyl zadán počet znaků, které mají být extrahovány, extrakce proběhla na konec řetězce.

Zde je další příklad:

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

Příkaz vrátí následující:

Extrakci jsme zahájili na pozici 5 a byly extrahovány 2 znaky.

Zvažte níže uvedenou tabulku knih:

Chceme získat přibližnou představu o názvu každé knihy. Ze sloupce názvu tabulky však můžeme extrahovat pouze prvních 15 znaků:

SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;

Příkaz vrátí následující:

Nyní máme přibližnou představu o názvu každé knihy.

Shoda podřetězců s regulárním výrazem SQL

V PostgreSQL můžeme extrahovat podřetězec odpovídající zadanému regulárnímu výrazu POSIX. V tomto případě se funkce podřetězce používá s následující syntaxí:

SUBSTRING(string FROM matching_pattern)

nebo

SUBSTRING(string, matching_pattern);

Zde je vysvětlení výše uvedených parametrů:

Řetězec je zdrojový řetězec, jehož datový typ je varchar, char, string atd.

Matching_pattern je vzor, ​​který se má použít pro vyhledávání v řetězci.

Příklady:

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

Příkaz vrátí následující:

Náš vstupní řetězec je váš věk je 22. Ve vzoru hledáme číselný vzor v našem řetězci, pokud je nalezen, funkce podřetězce by měla extrahovat pouze dva znaky.

Pomocí pgAdmin

Nyní se podívejme, jak se akce provádějí pomocí pgAdmin.

Výše uvedené dotazy, kde nepotřebujeme databázi, lze provést přímo z okna editoru dotazů. Postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2) Klikněte na ikonu Dotazovací nástroj.

Otevře se okno editoru dotazů.

Krok 3) V okně editoru zadejte následující dotaz.

SELECT substring('Guru99' for 4);

Krok 4) Klepnutím na ikonu Provést spusťte dotaz.

Mělo by vrátit následující:

Příklad 2:

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

Mělo by vrátit následující:

Zde je další příklad:

SELECT substring('Guru99' from 5);

Mělo by vrátit následující:

Příklad 3:

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

Mělo by vrátit následující:

Nyní spustíme příklad pomocí tabulky Kniha v ukázkové databázi:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigačním panelu vlevo klikněte na Databáze.
  2. Klikněte na ukázku.

Krok 3) Zadejte dotaz do editoru dotazů:

SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;

Krok 4) Klikněte na tlačítko Provést.

Mělo by vrátit následující:

Nyní máme základní představu o názvu každé knihy.

Shoda podřetězců s regulárním výrazem SQL

Chcete-li toho dosáhnout na pgAdmin, proveďte následující:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2) Klikněte na ikonu Dotazovací nástroj.

Otevře se okno editoru dotazů.

Krok 3) V okně editoru zadejte následující dotaz.

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

Krok 4) Klepnutím na ikonu Provést spusťte dotaz.

Mělo by vrátit následující:

Souhrn:

  • Funkce PostgreSQL Substring pomáhá při extrakci a vrácení pouze části řetězce.
  • První znak řetězce je na pozici 1.
  • Pokud není zadán počet znaků, které mají být z řetězce extrahovány, funkce extrahuje znaky ze zadané počáteční polohy na konec řetězce.
  • Pokud je zadán počet znaků, které mají být extrahovány, bude extrahován pouze tento počet znaků.

Stáhněte si databázi použitou v tomto výukovém programu