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
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;