CommencezCommencez gratuitement

Mettre le tout ensemble

Dans cet exercice, nous allons utiliser les tables film et category pour créer un nouveau champ appelé film_category en concaténant le name de la catégorie avec le title du film. Vous pratiquerez aussi la façon de tronquer des champs de texte, comme la colonne description de la table film, sans couper un mot.

Pour y arriver, nous allons utiliser la fonction REVERSE() pour déterminer la position du dernier caractère d'espacement dans description avant d'atteindre 50 caractères. Cette technique permet d'identifier la position du dernier caractère où vous souhaitez tronquer et de garantir qu'elle est inférieure ou égale à 50 caractères ET qu'aucun mot n'est coupé.

C'est une technique avancée, mais nous savons que vous en êtes capable ! Allons-y.

Cette activité fait partie du cours

Fonctions pour manipuler les données dans PostgreSQL

Voir le cours

Instructions de l’exercice

  • Obtenez les 50 premiers caractères de la colonne description.
  • Déterminez la position du dernier caractère d'espacement de la description tronquée et soustrayez-la du nombre 50 comme deuxième paramètre dans la première fonction ci-dessus.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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;
Modifier et exécuter le code