समस्या:
आप टी-एसक्यूएल में किसी तारीख में दिए गए दिनों की संख्या जोड़ना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में Flight
कॉलम में डेटा के साथ Code
और DepartureDate
।
कोड | प्रस्थान दिनांक |
---|---|
LT2030 | 2019-02-20 |
GH1100 | 2019-03-01 |
SR5467 | 2019-12-30 |
आइए वर्तमान प्रस्थान तिथि में दो दिन जोड़ते हुए सभी उड़ानों के लिए प्रस्थान तिथि को बदलें।
समाधान:
हम जोड़ने के लिए समय की इकाई निर्दिष्ट करने के लिए DATEADD () फ़ंक्शन का उपयोग करेंगे, परिभाषित करें कि कितना जोड़ना है, और बदलने की तिथि का चयन करें। क्वेरी पर एक नज़र डालें:
SELECT Code, DATEADD(day, 2, DepartureDate) AS ChangedDepartureDate FROM Flight;
ये रहा परिणाम:
कोड | परिवर्तित प्रस्थान दिनांक |
---|---|
LT2030 | 2019-02-22 |
GH1100 | 2019-03-03 |
SR5467 | 2020-01-01 |
चर्चा:
समय की चुनी हुई इकाई की एक विशिष्ट संख्या जोड़कर दिनांक और/या समय बदलने के लिए, SQL सर्वर के DATEADD() फ़ंक्शन का उपयोग करें। यह फ़ंक्शन दिनांक, समय, या दिनांक और समय डेटा प्रकारों पर कार्य करता है। इसमें तीन तर्क होते हैं:
- जोड़ने के लिए दिनांक/समय की वांछित इकाई। हमारे उदाहरण में, यह दिन है; हम तारीख में दिन जोड़ना चाहते हैं।
- कितनी इकाइयों को जोड़ना है। हमारे उदाहरण में, यह 2 है; हम मौजूदा तारीख में 2 दिन जोड़ना चाहते हैं।
- एक कॉलम जिसमें दिनांक/समय/दिनांक समय हम बदलना चाहते हैं। (हमारे उदाहरण में, हम प्रस्थान दिनांक कॉलम का उपयोग करते हैं।) यह तर्क एक अभिव्यक्ति भी हो सकता है जो दिनांक/समय/दिनांक समय लौटाता है।
DATEADD() फ़ंक्शन एक नई तिथि देता है। हमारे उदाहरण में, नई तिथि ChangedDepartureDate
. के रूप में दी गई है कॉलम। 'LT2030' उड़ान कोड के लिए, '2019-02-20' की तारीख अब '2019-02-22' है।
फ़ंक्शन DATEADD() दिनांक और समय इकाइयों जैसे year
. का उपयोग कर सकता है , quarter
, month
, dayofyear
, day
, week
, weekday
, hour
, minute
, second
, आदि। आप SQL सर्वर दस्तावेज़ीकरण में अधिक जान सकते हैं।