Zusammenfassung
In dieser Übung nutzen wir die Tabellen film und category, um ein neues Feld namens film_category zu erstellen, indem wir die Kategorie name mit dem title des Films verbinden. Du wirst auch üben, wie man Textfelder wie die Spalte description in der Tabelle film kürzt, ohne ein Wort abzuschneiden.
Dafür verwenden wir die Funktion REVERSE(), um die Position des letzten Leerzeichens im String description zu finden, bevor wir 50 Zeichen erreichen. Mit dieser Technik kannst du die Position des letzten Zeichens bestimmen, das du abschneiden willst, und sicherstellen, dass es weniger als oder gleich 50 Zeichen lang ist UND kein Wort abschneidet.
Diese Technik ist schon etwas anspruchsvoller, aber du bekommst das ganz sicher hin. Los geht‘s.
Diese Übung ist Teil des Kurses
Funktionen zur Datenbearbeitung in PostgreSQL
Anleitung zur Übung
- Entnehme die ersten 50 Zeichen der Spalte
description. - Finde die Position des letzten Leerzeichens in der abgeschnittenen Spalte
descriptionund zieh sie von der Zahl 50 ab, die als zweiter Parameter in der ersten Funktion oben steht.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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;