Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Získej prvních 50 znaků sloupce description.
  • Urči pozici poslední mezery ve zkráceném sloupci description a 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;
Upravit a spustit kód