ПочатиПочніть безкоштовно

Об'єднаймо все разом

У цій вправі ми використаємо таблиці film і category, щоб створити нове поле film_category, об'єднавши назву категорії name із title фільму. Ви також потренуєтеся, як обрізати текстові поля, наприклад стовпчик description у таблиці film, не відрізаючи слово посередині.

Для цього ми скористаємося функцією REVERSE(), щоб визначити позицію останнього пробільного символу в description перед тим, як досягнемо 50 символів. Цей прийом дає змогу знайти позицію останнього символу, на якому потрібно обрізати текст, і переконатися, що довжина менша або дорівнює 50 символам І при цьому не розриває слово.

Це просунута техніка, але я певен, що ви впораєтеся! Рушаймо далі.

Ця вправа є частиною курсу

Функції для обробки даних у PostgreSQL

Переглянути курс

Інструкції до вправи

  • Отримайте перші 50 символів стовпчика description.
  • Визначте позицію останнього пробільного символу в обрізаному стовпчику 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;
Редагувати та запускати код