Zjistěte, jak můžete manipulovat s textovými řetězci na databázovém serveru, nikoli v základní aplikaci.

Klíčové věci

  • Klíčové věci:
  • Řetězcové funkce SQL jsou předdefinované funkce používané k manipulaci s řetězcovými hodnotami a provádění různých databázových operací.
  • Mezi běžně používané funkce řetězce patří CONCAT(), SUBSTRING(), LENGTH(), UPPER(), TRIM(), REPLACE(), INSTR(), RIGHT(), LEFT(), INSERT() a REPEAT().
  • Naučit se funkce řetězců SQL je nezbytné pro práci s relačními databázemi a efektivní manipulaci a ukládání dat.

SQL (Structured Query Language) má mnoho vestavěných funkcí. Některé z široce používaných jsou řetězcové funkce.

Řetězce jsou datový typ používaný k ukládání znakových informací. Funkce řetězce SQL jsou předdefinované funkce. Můžete je použít k manipulaci s hodnotami řetězců a provádění různých databázových operací.

Řetězcové funkce zpracovávají a vracejí výsledky, kterými mohou být řetězce nebo číselné hodnoty. Při práci s SQL využijete následující standardní řetězcové funkce.

1. CONCAT()

CONCAT() je široce používaná funkce na serverech SQL. Použijete ho ke spojení dvou nebo více řetězců do jednoho řetězce. Funkce bere řetězce jako vstupy a zřetězí je na jednořetězcovou hodnotu. Jako argumenty přijímá řetězce a oddělovač.

Syntaxe je:

CONCAT(str1, str2)

Viz následující příklad:

SELECTCONCAT('MakeUseOf', 'website')

Což vrátí hodnotu „MakeUseOfwebsite“.

Příkaz SELECT je jedním z nejvíce běžně používané SQL příkazy. Využijete jej pro přístup k záznamům z databázových tabulek.

Vybraná data můžete načíst podle podmínek zadaných ve funkci. Můžete také použít další příkazy jako ORDER BY, WHERE, SKUPINA VYTVOŘENÁatd. k manipulaci s databázemi.

Další formou funkce CONCAT() je CONCAT_WS(). Tato funkce bere řetězce jako vstupy a spojuje je do jednoho řetězce. Ale staví mezi ně oddělovač. Oddělovač je obvykle prvním argumentem.

Například:

SELECTCONCAT_WS(',', 'MakeUseOf', 'website')

Vrácená hodnota bude „MakeUseOf, website“.

2. SUBSTRING()

Funkce SUBSTRING() vrací část řetězce počínaje uvedenou pozicí. Vyžaduje tři argumenty řetězec, začátek a délku. Délka je volitelná.

syntaxe:

SUBSTRING(str, start, len)

Počáteční pozice začíná na indexu jedna (nikoli na indexu nula, jako v některých programovacích jazycích). Délka (len) udává počet znaků, které se mají extrahovat. Délka musí být vždy kladné číslo.

Například:

SELECTSUBSTRING('abcde', 3, 2)

Vrátí hodnotu "cd".

3. DÉLKA()

Funkce SQL LENGTH() udává délku řetězce. Vezme řetězec jako argument. Syntaxe je:

LENGTH(str)

Chcete-li například zjistit délku jména 'Jones', napíšete funkci takto:

SELECTLENGTH('Jones')

Návratová hodnota je 5.

4. HORNÍ()

Tato funkce změní všechny znaky v řetězci na velká písmena. V některých databázích je také známá jako UCASE(). Syntaxe je:

UPPER(str)

Například převeďte větu "Miluji SQL tutoriály." na velká písmena.

SELECTUPPER('I love SQL Tutorials!')

Vrácená hodnota je "I LOVE SQL TUTORIALS!"

SQL má také funkci LOWER(). Tato funkce převádí řetězce na malá písmena, což je opak funkce UPPER().

5. TRIM()

Funkce TRIM() odebere mezery kolem řetězce. Vezme řetězec jako argument. Syntaxe je:

TRIM(str)

Například:

TRIM(' abcd ')

Vrácená hodnota bude "abcd".

Můžete také použít TRIM() k odstranění dalších znaků z řetězce s následující syntaxí:

TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

Funkce obsahuje argumenty zmiňující, kde má působit. Například BOTH odkazuje na předpony i přípony řetězce. Zatímco LEADING odkazuje na předponu a TRAILING na příponu, resp. Odstraněná část řetězce je také zahrnuta [remstr].

Například:

SELECTTRIM(LEADING'a'FROM'aaaaabcdaaa')

Vrátí "bcdaaa".

Můžete také použít funkci RTRIM() k odstranění znaků z pravé strany řetězce a LTRIM() k odstranění znaků z levé strany.

6. NAHRADIT()

Funkce REPLACE() nahradí podřetězec v řetězci novým podřetězcem. Syntaxe:

REPLACE(original_string, substring_to_replace, new_substring)

Původní_řetězec je vstupní řetězec, ve kterém chcete provést nahrazení. Substring_to_replace je podřetězec, který nahrazujete v original_string. A new_substring je řetězec, který umístíte do původního_řetězce.

Například:

SELECTREPLACE('MICROHARD', 'HARD', 'SOFT')

Výsledkem bude „MICROSOFT“.

7. INSTR()

Pomocí funkce INSTR() vyhledejte počáteční pozici podřetězce v řetězci. Funguje podobně jako funkce CHARINDEX() na serverech Oracle. Nebo obecná funkce POSITION() použitá v PostgreSQL databáze.

Syntaxe je:

INSTR(string, substring [, start_position [, occurrence]])

Řetězec je původní řetězec, který chcete najít podřetězec. Podřetězec je to, co v řetězci hledáte. Start_position (volitelné) je místo, kde začínáte. Pokud není zadán, vyhledávání začíná od začátku řetězce.

Výskyt (volitelný) je podřetězec, který chcete najít. Pokud není výskyt zadán, funkce vrátí první výskyt. Funkce provádí vyhledávání bez ohledu na velikost písmen.

Například:

SELECTINSTR('CORPORATE FLOOR', 'OR')

Výsledkem bude 2.

Tato funkce vrací znaky řetězce úplně vpravo. Zahrnuje řetězec a délku (délku) znaků, které se mají vrátit jako argumenty.

Syntaxe je:

RIGHT(str, len)

Například:

RIGHT('abcdef', 3)

Návratová hodnota je "def".

SQL má také funkci LEFT(), která dělá opak funkce RIGHT(). Vrátí první levé znaky řetězce.

syntaxe:

LEFT(str, len)

Například:

SELECTLEFT('Microsoft', 5)

Výsledkem bude "Mikro".

9. VLOŽIT()

Pomocí funkce INSERT() můžete změnit řetězec vložením nového řetězce. Můžete také zadat délku a pozici pro přidání řetězce, ale to jsou volitelné argumenty. Můžete také vkládat záznamy do databázové tabulky pomocí SQL.

Syntaxe je:

INSERT(string, position, length, new_string)

Řetězec je původní řetězec, který chcete vložit. Pozice je místo, kam byste chtěli vložit nový _string. Délka je počet znaků, které se mají nahradit, a nový_řetězec je řetězec, který se má vložit.

Pro níže uvedený SQL

SELECTINSERT('abcdefgh', 8, 2, 'IJKL')

Výsledkem je "abcdefgIJKL"

10. OPAKOVAT()

Pomocí funkce REPEAT() vynásobte řetězec požadovaným číslem. Syntaxe je:

REPEAT(string, number)

Funkce bere řetězec a počet opakování jako argumenty. Například:

SELECTREPEAT('MUO', 3)

Výsledkem je "MUOMUOMUO."

Proč se učit o funkcích řetězců?

SQL poskytuje různé funkce a operátory pro práci s řetězci; to jsou jen ty nejběžnější.

Pokud pracujete s relačními databázemi, je nezbytné naučit se funkce řetězců SQL. Znalost těchto funkcí vám pomůže efektivně manipulovat a ukládat data.

Budete efektivně provádět čištění, formátování a extrakci dat. Osvojíte si také porovnávání řetězců, třídění a porovnávání vzorů. To jsou dnes základní dovednosti při optimalizaci výkonnosti podniku.