Structured Query Language si klade za cíl poskytnout uživatelům možnost získávat data ve formátu, který chtějí. V tomto článku o podřetězci v SQL vám ukážu, jak extrahovat sadu znaků z řetězce. Tento článek bude obsahovat následující témata:
- Co je SQL?
- Co je SUBSTRING v SQL?
- Syntaxe:
- Příklady SUBSTRING:
- Použijte SUBSTRING na literály
- Použijte SUBSTRING v tabulce s podmínkami
- POUŽÍVEJTE SUBSTRING ve vnořených dotazech
Pojďme začít!
Co je SQL?
SQL neboli strukturovaný dotazovací jazyk vyvinul Donald D.Chamberlin a používá se ke správě, přístupu a získávání dat v databázi. Skládá se z různých příkazů rozdělených do 4 kategorií (DDL, DML, DCL a TCL). SUBSTRING je jeden takový příkaz v SQL, který se používá k načtení sady znaků ze zadaného řetězce.
Dále se v tomto článku podíváme hlouběji na to, co je SUBSTRING v SQL a jak jej používat.
Co je SUBSTRING v SQL?
SUBSTRING v SQL je funkce používaná k načítání znaků z řetězce. Pomocí této funkce můžete z jednoho řetězce získat libovolný počet podřetězců.
Syntaxe:
SUBSTRING(string, starting_value, length)
Tady,
- Řetězec – Představuje řetězec, ze kterého musíte extrahovat sadu znaků.
- Počáteční_hodnota – Představuje počáteční pozici struny. První znak v řetězci má hodnotu 1.
- Délka – Představuje počet znaků, které chcete extrahovat.
Viz obrázek níže pro obrázkové znázornění SUBSTRING v SQL.
Poznámka:
- Funkce SUBSTRING vyvolá chybu, pokud je parametr délky záporný.
- Délka znaků může překročit maximální délku původního řetězce. V takovém scénáři bude celý řetězec extrahován ze zmíněné výchozí pozice.
- Všechna tři pole jsou v této funkci povinná
- Pokud je počáteční pozice větší než maximální počet znaků v řetězci, nebude vráceno nic.
Protože jste porozuměli syntaxi a pravidlům pro použití SUBSTRING v SQL, pojďme nyní probrat různé způsoby, jak jej používat.
Příklady SUBSTRING:
Pro vaše lepší pochopení jsem příklady rozdělil do následujících sekcí:
-
- Použijte SUBSTRING na literály
- Použijte SUBSTRING v tabulce s podmínkami
- POUŽÍVEJTE SUBSTRING ve vnořených dotazech
Pojďme se podívat na každý z nich.
Použijte SUBSTRING na literály
Když použijete SUBSTRING v SQL pro literály, extrahuje podřetězec ze zadaného řetězce s délkou a začínající od počáteční hodnoty uvedené uživatelem.
Příklad 1
Napište dotaz pro extrahování podřetězce z řetězce „Edureka“, počínaje 2 znaky a musí obsahovat 4 znaky.
SELECT SUBSTRING(‘Edureka’, 2, 4);
Výstup
dure
Příklad 2
Napište dotaz a extrahujte podřetězec o 8 znacích, počínaje 2 znaky z řetězce „Edureka“. Zde, pokud pozorujete, musíme extrahovat podřetězec s délkou větší, než je maximální délka výrazu.
SELECT SUBSTRING(‘Edureka’, 2, 8);
Výstup
dureka
Použijte SUBSTRING v tabulce s podmínkami
Podívejte se na níže uvedenou tabulku s názvem tabulky Zákazníci.
CustID | Zákazník | Vlastní e-mail |
1 | Anuj | |
2 | Akáš | |
3 | Mitali | |
4 | Sonali | |
5 | Sanjay |
Pokud chcete vědět, jak vytvořit tabulku a vložit do ní hodnoty, můžete se podívat na článek o příkazu CREATE a INSERT.
Příklad 1
Napište dotaz pro extrahování podřetězce o 3 znacích, počínaje 1 znakem pro CustName „Akash“.
SELECT SUBSTRING(CustName, 1, 3) FROM Customers WHERE CustName = ‘Akash’;
Výstup
Aka
Příklad 2
Napište dotaz pro extrahování podřetězce až do konce řetězce, počínaje 2 znaky z CustName „Akash“.
SELECT SUBSTRING(CustName, 2) FROM Customers WHERE CustName = ‘Akash’;
Výstup
kash
Příklad 3
Napište dotaz pro extrahování podřetězce o 3 znacích, počínaje 2 znaky pro CustName a seřaďte jej podle CustName.
SELECT CustName FROM Customers ORDER BY SUBSTRING(CustName, 2, 3);
Výstup:
anj ita kas nuj ona
POUŽÍVEJTE SUBSTRING ve vnořených dotazech
V této části tohoto článku o podřetězci v SQL popíšeme, jak používat funkci SUBSTRING na vnořené dotazy. Abychom tomu porozuměli, podívejme se na tabulku Zákazníci, kterou jsme zvážili výše.
Příklad:
Napište dotaz pro extrahování celé domény ze sloupce CustEmail v tabulce Zákazníci.
SELECT CustEmail, SUBSTRING( CustEmail, CHARINDEX('@', CustEmail)+1, LEN(CustEmail)-CHARINDEX('@', CustEmail) ) Domain FROM Customers ORDER BY CustEmail;
Výstup :
CustEmail | Doména |
abc.com | |
xyz.com | |
pqr.com | |
abc.com | |
xyz.com |
Protože doména začíná za znakem @, použili jsme funkci CHARINDEX() k vyhledání znaku @ ve sloupci CustEmail. Potom se výsledek této funkce použije k určení počáteční pozice a délky extrahovaného podřetězce.
Takže, přátelé, můžete použít funkci SUBSTRING v SQL k načtení dat. Tím se dostáváme ke konci tohoto článku o SUBSTRING v SQL. Doufám, že vám tento článek přinesl informace.
Pokud se chcete dozvědět více o MySQL a seznamte se s touto relační databází s otevřeným zdrojovým kódem, pak se podívejte na naši Certifikační školení MySQL DBA který přichází s živým školením vedeným instruktorem a zkušenostmi z reálného života. Toto školení vám pomůže porozumět MySQL do hloubky a pomůže vám dosáhnout zvládnutí tohoto předmětu.
Máte na nás otázku? Uveďte to prosím v sekci komentářů k tomuto článku a já se vám ozvu.