प्रश्न के शीर्षक में "एसक्यूएल प्लस" शामिल है, जिसका अर्थ मेरे लिए ओरेकल है।
Oracle में DatedIFF फ़ंक्शन नहीं है। Oracle का उपयोग करते हुए 2 तिथियों के बीच दिनों की संख्या निर्धारित करने का सबसे सरल तरीका एक तारीख को दूसरी से घटाना है।
Select item, datebought, datesold, datesold-datebought as days from auctions;
Oracle दिनांक और समय की जानकारी को दिनांक फ़ील्ड में संग्रहीत करता है। यदि आप समय की परवाह नहीं करते हैं, तो Oracle में दिनांक फ़ील्ड के भीतर आधी रात तक काटी गई तिथियों को संग्रहीत करना आम बात है।
यदि आपकी तिथियां पहले ही आधी रात तक काट दी गई हैं, तो परिकलित मान एक अभिन्न संख्या होगी।
लेकिन अगर आपकी संग्रहीत तिथियों में समय की जानकारी शामिल है, तो आप एक अभिन्न मूल्य प्राप्त करने के लिए मूल्य को छोटा करना चाह सकते हैं। मुझे संदेह है कि आप घटाव से पहले प्रत्येक तिथि को छोटा करना चाहेंगे, जैसे कि यदि एक दिन खरीदा जाता है, तो अगले दिन किसी भी समय 1 दिन के रूप में गिना जाएगा। Oracle दिनांक मध्यरात्रि तक काटता है।
select item, datebought, datesold, trunc(datesold)-trunc(datebought) as days from auctions;
मैं WarrenT से सहमत हूं कि आपकी तालिका में असामान्य दिनों का कॉलम नहीं होना चाहिए।