MySQL Tahák

Řetězcové funkce

Na této stránce najdete pár funkcí týkajících se řetězců. Napsal jsem jich tu jen pár, na ostatní se můžete podívat třeba v dokumentaci.

CONCAT

Funkce CONCAT nám umožňuje spojit hodnoty do jednoho řetězce. Jako parametr jí předáváme hodnoty, které chceme spojit.

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM users;
 
SELECT CONCAT('My', 'SQL'); # tento příkaz vrátí řetězec 'MySQL'

CONCAT_WS

Funkce CONCAT_WS nám umožňuje spojit hodnoty do jednoho řetězce a mezi hodnoty zároveň vložit nějaký znak. Jako parametr jí předáváme znak, který se vloží mezi hodnoty a hodnoty, které chceme spojit.

SELECT CONCAT_WS('-', 2021, 8, 16); # tento příkaz vrátí řetězec '2021-8-16'

SUBSTRING

Pomocí funkce SUBSTRING můžeme získat část řetězce. Jako první parametr předáváme řetězec ze kterého chceme získat jeho část. Jako další parametry můžeme předat jedno nebo dvě čísla. Pokud předáme jen jedno číslo, tak se vezme část řetězce od předaného indexu po konec řetězce. Pokud předáme záporné číslo, tak se index vezme od konce. Pokud předáme dvě čísla, tak se vezme počet znaků předaný ve třetím parametru od indexu předaného v druhém parametru. Indexuje se od jedné, ne od nuly jako ve většině programovacích jazycích.

SELECT SUBSTRING('Structured Query Language', 12); # vrátí 'Query Language'
SELECT SUBSTRING('Structured Query Language', -8); # vrátí 'Language'
SELECT SUBSTRING('Structured Query Language', 12, 5); # vrátí 'Query'

REPLACE

Pomocí funkce REPLACE můžeme v řetězci nahradit jeho část jinou částí. Jako první parametr této funkci předáváme řetězec, který chceme měnit. Jako druhý parametr předáváme co chceme v řetězci měnit a jako třetí parametr předáváme čím to chceme měnit.

# následující funkce vrátí 'Structured Query Language'
SELECT REPLACE('Hypertext Markup Language', 'Hypertext Markup', 'Structured Query');

UPPER

Pomocí funkce UPPER můžeme písmena v řetězci předělat na velká písmena.

# následující funkce vrátí 'STRUCTURED QUERY LANGUAGE'
SELECT UPPER('Structured Query Language');

LOWER

Pomocí funkce LOWER můžeme písmena v řetězci předělat na malá písmena.

# následující funkce vrátí 'mysql'
SELECT LOWER('MySQL');

CHAR_LENGTH

Pomocí funkce CHAR_LENGTH můžeme zjistit počet znaků v řetězci.

SELECT CHAR_LENGTH('MySQL'); # vrátí 5