開始使用免費開始

整合應用

在這個練習中,你將使用 filmcategory 資料表,將類別的 name 與電影的 title 串接,建立一個名為 film_category 的新欄位。你也會練習如何截斷像 film 資料表中 description 這類文字欄位,而且不會把單字截斷。

為了達成這件事,我們會使用 REVERSE() 函式,協助找出在 50 個字元之前的 description 中,最後一個空白字元的位置。這個技巧可用來決定你想要截斷的最後一個字元位置,並確保它小於或等於 50 個字元,且不會把單字切斷。

這是進階技巧,但我知道你做得到!一起開始吧。

本練習屬於課程

在 PostgreSQL 操作資料的函式

檢視課程

練習說明

  • 取得 description 欄位的前 50 個字元。
  • 找出截斷後 description 欄位中最後一個空白字元的位置,並以 50 減去該位置的結果,作為上方第一個函式的第二個參數。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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;
編輯並執行程式碼