Mise en œuvre de l'ensemble
Dans cet exercice, nous allons utiliser les tables film et category pour créer un nouveau champ appelé film_category en concaténant la catégorie name avec le title du film. Vous apprendrez également à tronquer des champs de texte tels que la colonne description de la table film sans couper de mot.
Pour ce faire, nous utiliserons la fonction REVERSE() afin de déterminer la position du dernier caractère blanc dans description avant d'atteindre 50 caractères. Cette technique peut être utilisée pour déterminer la position du dernier caractère que vous souhaitez tronquer et vous assurer qu'il est inférieur ou égal à 50 caractères. AND ne coupe pas un mot.
Il s'agit d'une technique avancée, mais je suis convaincu que vous en êtes capable. Plongeons dans le vif du sujet.
Cet exercice fait partie du cours
Fonctions permettant de manipuler les données dans PostgreSQL
Instructions
- Obtenir les 50 premiers caractères de la colonne
description - Déterminez la position du dernier caractère blanc de la colonne tronquée
descriptionet soustrayez-la du nombre 50 en tant que deuxième paramètre dans la première fonction ci-dessus.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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;