Totul împreună
În acest exercițiu, vom folosi tabelele film și category pentru a crea un câmp nou numit film_category, prin concatenarea coloanei name din categorie cu title-ul filmului. Vei exersa și cum să trunchiezi câmpuri de tip text, precum coloana description din tabelul film, fără a tăia cuvintele la mijloc.
Pentru a realiza acest lucru, vom folosi funcția REVERSE() pentru a determina poziția ultimului spațiu alb din description înainte de a ajunge la 50 de caractere. Această tehnică îți permite să identifici poziția ultimului caracter pe care vrei să-l păstrezi, asigurându-te că rezultatul are cel mult 50 de caractere și că niciun cuvânt nu este tăiat.
Este o tehnică avansată, dar știu că poți! Hai să începem.
Acest exercițiu face parte din cursul
Funcții pentru manipularea datelor în PostgreSQL
Instrucțiuni pentru exercițiu
- Extrage primele 50 de caractere din coloana
description - Determină poziția ultimului spațiu alb din coloana
descriptiontrunchiată și scade-o din numărul 50, ca al doilea parametru al primei funcții de mai sus.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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;