Alles zusammenfügen
In dieser Übung verwenden wir die Tabellen film
und category
, um ein neues Feld mit dem Namen film_category
zu erstellen, indem wir die Kategorie name
mit dem Namen des Films title
verknüpfen. Du wirst auch üben, wie du Textfelder wie die Spalte description
der Tabelle film
kürzen kannst, ohne ein Wort abzuschneiden.
Um dies zu erreichen, verwenden wir die Funktion REVERSE()
, um die Position des letzten Leerzeichens in description
zu bestimmen, bevor wir 50 Zeichen erreichen. Mit dieser Technik kannst du die Position des letzten Zeichens, das du abschneiden willst, bestimmen und sicherstellen, dass es kleiner oder gleich 50 Zeichen ist AND schneidet kein Wort ab.
Das ist eine fortgeschrittene Technik, aber ich weiß, dass du es kannst! Lass uns eintauchen.
Diese Übung ist Teil des Kurses
Funktionen zur Manipulation von Daten in PostgreSQL
Anleitung zur Übung
- Erhalte die ersten 50 Zeichen der Spalte
description
- Bestimme die Position des letzten Leerzeichens der abgeschnittenen Spalte
description
und subtrahiere sie von der Zahl 50 als zweitem Parameter in der ersten Funktion oben.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
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;