Všechno dohromady
V tomto cvičení použijeme tabulky film a category k vytvoření nového pole film_category, které vznikne zřetězením názvu kategorie (name) s názvem filmu (title). Procvičíš si také zkracování textových polí – konkrétně sloupce description z tabulky film – tak, aby nedošlo k přeříznutí slova uprostřed.
K tomu využijeme funkci REVERSE(), která nám pomůže určit pozici poslední mezery v description před dosažením 50 znaků. Tato technika umožňuje najít pozici posledního znaku pro zkrácení a zajistit, že výsledek bude maximálně 50 znaků a zároveň nebude přerušeno žádné slovo.
Jde o pokročilou techniku, ale věřím, že ti to půjde! Pojďme na to.
Toto cvičení je součástí kurzu
Funkce pro práci s daty v PostgreSQL
Pokyny k cvičení
- Získej prvních 50 znaků sloupce
description. - Urči pozici poslední mezery ve zkráceném sloupci
descriptiona odečti ji od čísla 50 jako druhý parametr první funkce výše.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
SELECT
UPPER(c.name) || ': ' || f.title AS film_category,
-- Truncate the description without cutting off a word
___(description, 50 -
-- Subtract the position of the first whitespace character
___(
' ' IN REVERSE(LEFT(description, 50))
)
)
FROM
film AS f
INNER JOIN film_category AS fc
ON f.film_id = fc.film_id
INNER JOIN category AS c
ON fc.category_id = c.category_id;