CommencerCommencer gratuitement

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

Afficher le cours

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