समस्या:
आप टी-एसक्यूएल में दी गई तारीख से 30 दिन पहले की तारीख प्राप्त करना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में Computer
कॉलम में डेटा के साथ Id
, Name
, और PurchaseDate
।
आईडी | <थ>नामखरीदारी की तारीख | |
---|---|---|
1 | सोनी GX1000 | 2019-01-20 |
2 | सैमसंग LX2000 | 2019-04-15 |
3 | डेल K80 | 2019-08-30 |
आइए प्रत्येक कंप्यूटर का नाम और दिनांक 30 दिन पहले . प्राप्त करें इसकी खरीद की तारीख।
समाधान:
हम DATEADD() फ़ंक्शन का उपयोग किसी दिनांक से दिए गए दिनों की संख्या घटाने के लिए करेंगे।
SELECT Name, DATEADD(day, -30, PurchaseDate) AS BeforePurchaseDate; FROM Computer;
ये रहा क्वेरी का नतीजा:
नाम | खरीदने की तारीख से पहले |
---|---|
सोनी GX1000 | 2018-12-21 |
सैमसंग LX2000 | 2019-03-16 |
डेल K80 | 2019-07-31 |
चर्चा:
यदि आप SQL सर्वर में दिनांक या समय घटाना चाहते हैं, तो DATEADD()
. का उपयोग करें समारोह। इसमें तीन तर्क लगते हैं। पहला तर्क दिनांक/समय इकाई है - हमारे उदाहरण में, हम दिन . निर्दिष्ट करते हैं इकाई।
अगला दिनांक या समय इकाई है मान . हमारे उदाहरण में, यह -30 . है , क्योंकि हम वर्तमान तिथि से 30 दिन दूर ले रहे हैं। याद रखें कि माइनस घटाना . को दर्शाता है मूल्य; इस चिन्ह के बिना, आप दी गई तिथि में जोड़ रहे हैं।
अंतिम तर्क वह तारीख है जिस पर हम काम कर रहे हैं; यह दिनांक/समय/डेटाटाइम कॉलम या कोई भी अभिव्यक्ति हो सकती है जो दिनांक या समय लौटाती है। हमारे उदाहरण में, हम PurchaseDate
. का उपयोग करते हैं , एक date
कॉलम।
फ़ंक्शन एक बदली हुई तारीख देता है। हमारे उदाहरण में, 'Dell K80'
. नामक कंप्यूटर के लिए क्वेरी BeforePurchaseDate
. में एक नई तारीख लौटाता है कॉलम। मूल तारीख '2019-08-30'
30 दिन पहले की तारीख से बदल दी गई है:'2018-07-31'
.
आप DATEADD()
. का उपयोग कर सकते हैं सभी दिनांक और समय डेटा प्रकारों के लिए कार्य करता है।