15. Operace nad vybranými daty
MySQL nám nabízí velké množství funkcí, kterými můžeme upravit data, která pomocí SELECT získáme z naší databáze. Většinu z nich je možné nahradit až samotným zpracováním v programu, ale řešení přímo v databázi může být rychlejší a přehlednější.Funkce pro práci s textem
Funkce mohou přijímat několik argumentů. V těch případech, kdy je argumentem řetezec, ho můžeme zadat přímo (zadáváme v apostrofech), nebo jako hodnotu můžeme využít libovolný textový sloupec (zadáváme bez apostrofů). V této tabulce uvádím nejčastější funkce pro práci s textem, jejich kompletní přehled naleznete v manuálu MySQL.Funkce | Příklad | Popis |
CONCAT() | CONCAT(sloupec_pocet_zobrazeni, ' krát zobrazeno') | Spojuje zadané argumenty do jednoho výsledného řetězce. |
LOWER() | LOWER('Sedláček') | Převede všechna písmena na malá. Aliasem funkce je LCASE(). |
UPPER() | LOWER('Sedláček') | Převede všechna písmena na velká. Aliasem funkce je UCASE(). |
TRIM() | Trim(' Ahoj! ') | Odstraní bílé znaky (mezery, tabulátory) na okrajích. LTRIM pak pouze z levé strany, RTRIM z pravé. |
LENGTH() | LENGTH(knihy.nazev) | Vrátí počet znaků daného řetězce. |
SUBSTR() | SUBSTR()('knihy.nazev', 0, 10) | Vrátí podčást řetězce. Druhý parametr určuje kde podřetězec začíná, třetí argument jeho délku. |
REPLACE() | REPLACE('www.google.com', 'www', '') | Nahrazují řetězec zadaný v druhém parametru řetězcem z třetího parametru. |
Funkce pro práci s čísly
Níže je opět uveden jen přehled základních funkci, kompletní seznam naleznete opět v manuálu.Funkce | Příklad | Popis |
ROUND() | ROUND(1.4) | Zaokrouhlování. |
ABS() | ABS(-3) | Absolutní hodnota ze zadaného čísla. |
POW() | POW(3, 2) | Vrátí n-tou mocninu (druhý parametr) ze zadaného čísla (první parametr). |
RAND() | RAND() | Vrátí náhodné číslo. |
Všechny tyto funkce nijak neupravují data uložená v databázi, pouze mění data získaná na výstupu Vaším dotazem
Další díly tutoriálu
13. Fulltextové vyhledávání14. Regulární výrazy
15. Operace nad vybranými daty
16. Výběr dat - co se jinam nevešlo
17. K čemu slouží indexy