PostgreSQL Funkce SUBSTRING() s příkladem regulárního výrazu
Co je to PostgreSQL Podřetězec?
Jedno PostgreSQL Funkce podřetězce vám pomůže s extract a vrátí část řetězce. Místo vrácení celého řetězce vrací pouze jeho část.
Syntax
Jedno PostgreSQL funkce podřetězec má následující syntaxi:
substring( string [from starting_position] [for length] )
parametry
| Jméno | Description |
|---|---|
| šňůra | Zdrojový řetězec, jehož datový typ je varchar, char, string atd. |
| začáteční pozice | Je to volitelný parametr. Označuje místo, kde se nachází extracZačne se vyplňování řetězce. Pokud tento parametr vynecháte, extracČtení začne 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 exprimovány.tracz řetězce. Pokud tento parametr vynecháte, funkce bude extract od počáteční_pozice do konce řetězce. |
Příklady
V tomto příkladu chceme extracprvní 4 znaky ze slova Guru99:
SELECT substring('Guru99' for 4);
Příkaz vrátí následující:
Nespecifikovali jsme výchozí pozici, takže extracpodřetězec začíná na pozici 1. Byly vynechány 4 znakytracpožádal o vrácení výše uvedeného.
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í:
Upřesnili jsme, že extracPodřetězec by měl začínat od pozice 1 a měly by být tvořeny 4 znaky.tracted.
Pojďme extract 99 z řetězce Guru99:
SELECT substring('Guru99' from 5);
Příkaz vrátí následující:
Počáteční pozici jsme zadali na 5. Protože počet znaků, které mají být extracTed nebyl specifikován, extracce běžela až na konec řetězce.
Zde je další příklad:
SELECT substring('Guru99' from 5 for 2);
Příkaz vrátí následující:
Začali jsme s extracce na pozici 5 a 2 znaky byly vynechánytracted.
Zvažte níže uvedenou tabulku knihy:
Chceme získat hrubou představu o názvu každé knihy. Můžeme však např.tracpouze prvních 15 znaků ze sloupce názvu v tabulce:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
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
In PostgreSQL, můžeme extracpodřetězec odpovídající zadanému regulárnímu výrazu POSIX. V tomto případě se funkce podřetězec používá s následující syntaxí:
SUBSTRING(string FROM matching_pattern)
or
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, řetězec atd.
Odpovídající_vzor je vzor, který se použije pro vyhledávání v řetězci.
Příklady
SELECT
SUBSTRING (
'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 a pokud je tento nalezen, funkce podřetězec by měla pouze extracdva znaky.
Jak porovnat podřetězce 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ů. Stačí provést následující:
Krok 1) Přihlaste se ke svému účtu.
Přihlaste se ke svému účtu pgAdmin.
Krok 2) Na pgAdmin,
Klikněte na ikonu Dotazovacího nástroje.
Otevře se okno editoru dotazů.
Krok 3) Zadejte dotaz.
V okně editoru zadejte následující dotaz.
SELECT substring('Guru99' for 4);
Krok 4) Provést dotaz
Klepnutím na ikonu Provést spustíte dotaz.
Krok 5) Provedení dotazu je hotovo.
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í spusťte příklad s použitím tabulky Kniha ukázkové databáze:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
Krok 3) Zadejte dotaz v editoru dotazů:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Krok 4) Klepněte na tlačítko Spustit.
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 provést totéž na pgAdmin, proveďte následující:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2) Klikněte na ikonu Dotazovacího nástroje.
Otevře se okno editoru dotazů.
Krok 3) V okně editoru zadejte následující dotaz.
SELECT
SUBSTRING (
'Your age is 22',
'([0-9]{1,2})'
) as age;
Krok 4) Klepnutím na ikonu Provést spustíte dotaz.
Mělo by vrátit následující:
Shrnutí
- Jedno PostgreSQL Funkce podřetězce pomáhá v příkladutracprovádění a vrácení pouze části řetězce.
- První znak řetězce je na pozici 1.
- Pokud počet znaků, které mají být extracPokud není zadán parametr `ted` z řetězce, funkce bude extract znaků od zadané počáteční pozice do konce řetězce.
- Pokud počet znaků, které mají být extracted, bude použit pouze tento počet znaků.tracted.



















