PostgreSQL Funkce SUBSTRING() s příkladem regulárního výrazu
⚡ Chytré shrnutí
PostgreSQL PODŘEZEC extracFunkce ts vrací část řetězce s použitím volitelné počáteční pozice a délky a také porovnává text s regulárním výrazem POSIX pro nalezení vzorů, jako jsou čísla nebo kódy.

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, což je užitečné pro ořezávání kódů a čtení polí s pevnou šířkou.
Syntax
Jedno PostgreSQL funkce podřetězec má následující syntaxi:
substring( string [from starting_position] [for length] )
parametry
S funkcí substring se používají následující parametry:
| šňůra | Zdrojový řetězec, jehož datový typ je varchar, char, string atd. |
| začáteční pozice | 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číná od pozice 1, což je první znak v řetězci. |
| délka | Volitelný parametr. Označuje počet znaků, které mají být vybrány.tracz řetězce. Pokud tento parametr vynecháte, funkce extracts 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 extracČást podřetězce začínající na pozici 1. Byly vynechány čtyři znakytracted vrátit výše uvedený výsledek.
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 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ůžete extracpodřetězec, který odpovídá zadanému regulárnímu výrazu POSIX. V tomto případě funkce podřetězec používá následující syntaxi:
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, string atd. Matching_pattern je vzor použitý 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; když je nalezen, funkce podřetězce extracpouze dva znaky.
Jak porovnávat podřetězce pomocí pgAdmin
Nyní se podívejme, jak se tyto akce provádějí pomocí pgAdmin. Dotazy, které nepotřebují databázi, lze spustit přímo z okna editoru dotazů. Stačí provést následující:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2) V pgAdminu klikněte na ikonu Dotazovacího nástroje.
Otevře se okno editoru dotazů.
Krok 3) Do okna editoru zadejte následující dotaz.
SELECT substring('Guru99' for 4);
Krok 4) Klepnutím na ikonu Provést spustíte dotaz.
Krok 5) Provedení dotazu je hotové. Mělo by se 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) V navigačním panelu vlevo klikněte na Databáze a poté na 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) Do okna 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í:
Stáhněte si databázi použitou v tomto kurzu



















