Hepsini bir araya getirme
Bu egzersizde, film ve category tablolarını kullanarak kategori name değerini filmin title değeriyle birleştirip film_category adlı yeni bir alan oluşturacağız. Ayrıca film tablosundaki description sütunu gibi metin alanlarını, bir kelimeyi bölmeden nasıl kısaltacağını da pratik edeceksin.
Bunu başarmak için, 50 karaktere ulaşmadan önce description içindeki son boşluk karakterinin konumunu belirlemeye yardımcı olması için REVERSE() fonksiyonunu kullanacağız. Bu teknik, kesmek istediğin son karakterin konumunu belirlemek, 50 karakterden küçük ya da eşit olmasını sağlamak VE bir kelimeyi bölmemek için kullanılabilir.
Bu ileri düzey bir teknik ama yapabileceğini biliyorum! Hadi başlayalım.
Bu egzersiz
PostgreSQL'de Veriyi İşlemek için Fonksiyonlar
kursunun bir parçasıdırEgzersiz talimatları
descriptionsütununun ilk 50 karakterini al- Kısaltılmış
descriptionsütunundaki son boşluk karakterinin konumunu belirle ve yukarıdaki ilk fonksiyonda ikinci parametre olarak sayısı 50'den çıkar.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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;