MulaiMulai sekarang secara gratis

Aritmetika INTERVAL

Jika Anda menjalankan toko Sewa DVD yang sesungguhnya, akan ada kalanya Anda perlu mengetahui judul film apa saja yang saat ini masih dipinjam pelanggan. Pada latihan sebelumnya, kita melihat bahwa beberapa rekaman dalam hasil memiliki nilai NULL untuk return_date. Ini karena sewanya masih belum dikembalikan.

Setiap sewa di tabel film memiliki kolom rental_duration yang menunjukkan jumlah hari sebuah DVD dapat dipinjam pelanggan sebelum dianggap terlambat. Dalam contoh ini, Anda akan mengecualikan film yang memiliki nilai NULL untuk return_date dan juga mengonversi rental_duration ke tipe INTERVAL. Berikut pengingat salah satu metode untuk melakukan konversi ini.

SELECT INTERVAL '1' day * timestamp '2019-04-10 12:34:56'

Latihan ini adalah bagian dari kursus

Fungsi untuk Memanipulasi Data di PostgreSQL

Lihat Kursus

Petunjuk latihan

  • Konversikan rental_duration dengan mengalikan nilai tersebut dengan INTERVAL 1 hari
  • Kurangkan rental_date dari return_date untuk menghitung jumlah days_rented.
  • Kecualikan sewa dengan return_date bernilai NULL.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

SELECT
	f.title,
 	-- Convert the rental_duration to an interval
    ___ '1' ___ * ___.___,
 	-- Calculate the days rented as we did previously
    r.return_date - ___.___ AS days_rented
FROM film AS f
    INNER JOIN inventory AS i ON f.film_id = i.film_id
    INNER JOIN rental AS r ON i.inventory_id = r.inventory_id
-- Filter the query to exclude outstanding rentals
WHERE r.return_date ___ ___ ___
ORDER BY f.title;
Edit dan Jalankan Kode