sql >> Databáze >  >> RDS >> Database

Jak načíst sadu znaků pomocí SUBSTRING v SQL?

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?
    1. Syntaxe:
  • Příklady SUBSTRING:
    1. Použijte SUBSTRING na literály
    2. Použijte SUBSTRING v tabulce s podmínkami
    3. 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í:

    1. Použijte SUBSTRING na literály
    2. Použijte SUBSTRING v tabulce s podmínkami
    3. 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

[email protected]

2

Akáš

[email protected]

3

Mitali

[email protected]

4

Sonali

[email protected]

5

Sanjay

[email protected]

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

[email protected]

abc.com

[email protected]

xyz.com

[email protected]

pqr.com

[email protected]

abc.com

[email protected]

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.


  1. Při pokusu o spuštění pgAdmin4 došlo k chybě

  2. Jak nastavit výchozí uživatelské heslo v PostgreSQL

  3. Jste seřazeni? Tipy týkající se řazení oken T-SQL

  4. Je mít 'NEBO' ve stavu INNER JOIN špatný nápad?