ComenzarEmpieza gratis

Unirlo todo

En este ejercicio, vamos a utilizar las tablas film y category para crear un nuevo campo llamado film_category concatenando la categoría name con title de la película. También truncarás campos de texto como la columna description de la tabla film sin cortar ninguna palabra.

Para ello, utilizaremos la función REVERSE() para determinar la posición del último espacio en blanco en description antes de que lleguemos a 50 caracteres. Esta técnica puede utilizarse para determinar la posición del último carácter que quieres truncar y garantizar que sea menor o igual que 50 caracteres AND que no corte ninguna palabra.

Esta es una técnica avanzada, pero sé que puedes hacerlo. Vamos a profundizar en ello.

Este ejercicio forma parte del curso

Funciones para manipular datos en PostgreSQL

Ver curso

Instrucciones de ejercicio

  • Obtén los 50 primeros caracteres de la columna description.
  • Determina la posición del último espacio en blanco de la columna truncada description y réstalo al número 50 como segundo parámetro de la primera función anterior.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

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;
Editar y ejecutar código