शुरू करेंमुफ़्त में शुरू करें

INTERVAL arithmetic

यदि आप एक वास्तविक DVD Rental स्टोर चला रहे होते, तो कई बार आपको यह पता लगाना पड़ता कि कौन-से फिल्म टाइटल्स फिलहाल ग्राहकों के पास रेंट पर हैं। पिछले अभ्यास में, हमने देखा कि कुछ परिणामों में return_date के लिए NULL मान था। ऐसा इसलिए था क्योंकि वह रेंटल अभी बकाया था.

film टेबल में हर रेंटल के साथ एक rental_duration कॉलम जुड़ा होता है, जो उन दिनों की संख्या बताता है जितने दिनों तक कोई ग्राहक DVD रख सकता है, उसके बाद उसे लेट माना जाता है। इस उदाहरण में, आप उन फिल्मों को बाहर करेंगे जिनका return_date NULL है, और साथ ही rental_duration को INTERVAL टाइप में कन्वर्ट करेंगे। यह रहा उस कन्वर्ज़न को करने के एक तरीके की याद दिलाने के लिए एक उदाहरण:

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

यह अभ्यास पाठ्यक्रम का हिस्सा है

PostgreSQL में डेटा मैनिपुलेट करने के लिए फ़ंक्शंस

पाठ्यक्रम देखें

अभ्यास निर्देश

  • rental_duration को 1 day वाले INTERVAL से गुणा करके कन्वर्ट करें.
  • days_rented की गणना के लिए return_date में से rental_date घटाएँ.
  • जिन रेंटल्स के return_date में NULL है, उन्हें बाहर करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

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;
कोड संपादित करें और चलाएँ