Začněte nyníZačněte zdarma

Aritmetika s INTERVAL

Kdybys provozoval/a skutečnou půjčovnu DVD, občas by ses potřeboval/a podívat, které filmy mají zákazníci právě půjčené. V předchozím cvičení jsme viděli, že některé záznamy mají hodnotu NULL ve sloupci return_date – to znamená, že výpůjčka ještě nebyla vrácena.

Každá výpůjčka v tabulce film má přiřazený sloupec rental_duration, který udává počet dní, po které si zákazník může DVD půjčit, než se výpůjčka považuje za opožděnou. V tomto cvičení vyloučíš filmy s hodnotou NULL ve sloupci return_date a převedeš rental_duration na typ INTERVAL. Jako připomenutí – jeden ze způsobů, jak tento převod provést:

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

Toto cvičení je součástí kurzu

Funkce pro práci s daty v PostgreSQL

Zobrazit kurz

Pokyny k cvičení

  • Převeď rental_duration tím, že ho vynásobíš INTERVAL o délce 1 den.
  • Odečti rental_date od return_date a vypočítej počet dní výpůjčky (days_rented).
  • Vyloučit záznamy, kde má return_date hodnotu NULL.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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;
Upravit a spustit kód