Kom igångKom igång gratis

Sätt ihop allt

I den här övningen använder vi tabellerna film och category för att skapa ett nytt fält kallat film_category, genom att sammanfoga kategorins name med filmens title. Du får också öva på att trunkera textfält – till exempel kolumnen description i tabellen film – utan att skära mitt i ett ord.

För att åstadkomma detta använder vi funktionen REVERSE() för att hitta positionen för det sista blanksteget i description innan vi når 50 tecken. Den här tekniken gör det möjligt att avgöra var texten ska kapas så att resultatet är högst 50 tecken långt och inte delar ett ord på mitten.

Det är en avancerad teknik, men nu kör vi!

Den här övningen är en del av kursen

Funktioner för datamanipulering i PostgreSQL

Visa kurs

Övningsinstruktioner

  • Hämta de första 50 tecknen i kolumnen description
  • Bestäm positionen för det sista blanksteget i den trunkerade kolumnen description och subtrahera det från talet 50 som andra parameter i den första funktionen ovan.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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;
Redigera och kör kod