Reunindo tudo
Neste exercício, vamos usar as tabelas film e category para criar um novo campo chamado film_category, juntando a categoria name com o filme title. Você também vai praticar como cortar campos de texto, tipo a coluna description da tabela film, sem cortar uma palavra.
Para fazer isso, vamos usar a função ` REVERSE() para ajudar a determinar a posição do último caractere de espaço em branco na description ` antes de chegarmos a 50 caracteres. Essa técnica pode ser usada pra determinar a posição do último caractere que você quer cortar e garantir que ele tenha menos ou igual a 50 caracteres. O AND não corta uma palavra.
Essa é uma técnica avançada, mas sei que você consegue! Vamos lá.
Este exercício faz parte do curso
Funções para mexer nos dados no PostgreSQL
Instruções do exercício
- Pega os primeiros 50 caracteres da coluna "
description" - Descubra onde fica o último espaço em branco da coluna truncada
descriptione tire isso do número 50 como o segundo parâmetro na primeira função acima.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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;