समस्या:
आप एक MySQL डेटाबेस में डेटाटाइम मान में एक निश्चित समय जोड़ना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में flight_schedule कॉलम में डेटा के साथ flight , aircraft , और arrival_datetime ।
| उड़ान | विमान | आगमन_दिनांक समय |
|---|---|---|
| EK10 | L1201 | 2019-04-20 15:15:00 |
| AY12 | K2001 | 2019-03-31 20:10:00 |
| LA105 | F205 | 2019-08-03 11:15:00 |
| LH30 | K256 | 2019-07-01 12:47:00 |
प्रत्येक उड़ान के लिए, आइए उड़ान कोड, विमान कोड और एक नई आगमन तिथि और समय प्राप्त करें। new_arrival_datetime की गणना करने के लिए , हम प्रत्येक आगमन के लिए वर्तमान समय में 2 घंटे और 10 मिनट जोड़ देंगे – यानी इन उड़ानों में कितनी देरी हुई है।
समाधान:
हम ADDTIME() का उपयोग करेंगे समारोह। यहां वह प्रश्न है जो आप लिखेंगे:
SELECT flight,
aircraft,
ADDTIME(arrival_datetime, ‘2:10’)
AS new_arrival_datetime
FROM flight_schedule;
ये रहा क्वेरी का नतीजा:
| उड़ान | विमान | new_arrival_datetime |
|---|---|---|
| EK10 | L1201 | 2019-04-20 17:25:00 |
| AY12 | K2001 | 2019-03-31 22:20:00 |
| LA105 | F205 | 2019-08-03 13:25:00 |
| LH30 | K256 | 2019-07-01 14:57:00 |
चर्चा:
यदि आप किसी दिए गए समय को डेटाटाइम/टाइमस्टैम्प/समय मान में जोड़कर एक नया डेटाटाइम चुनना चाहते हैं तो ADDTIME() फ़ंक्शन का उपयोग करें।
यह फ़ंक्शन दो तर्क लेता है। पहला तर्क वह डेटाटाइम/समय है जिसमें हम समय जोड़ रहे हैं; यह एक अभिव्यक्ति हो सकती है जो एक समय/डेटाटाइम/टाइमस्टैम्प मान या समय/डेटाटाइम/टाइमस्टैम्प कॉलम का नाम देता है। हमारे उदाहरण में, हम arrival_datetime . का उपयोग करते हैं कॉलम, जो डेटाटाइम . का है डेटा प्रकार।
दूसरा तर्क एक स्ट्रिंग है जिसमें पहले तर्क में जोड़ने के लिए समय की मात्रा होती है (हमारे उदाहरण में, '2:10', या 2 घंटे और 10 मिनट)।
आप डेटाटाइम/समय मान में भिन्नात्मक सेकंड और यहां तक कि दिन भी जोड़ सकते हैं। नीचे दी गई क्वेरी दिनांक और समय में 3 दिन, 1 घंटा, 1 मिनट, 1 सेकंड और 111 भिन्न सेकंड जोड़ती है:
SELECT ADDTIME('2019-02-05 10:12:11', '3 1:1:1.111');
यह लौटता है:
2019-02-08 11:13:12.111000
ADDTIME() नए समय के साथ एक स्ट्रिंग देता है। हमारे उदाहरण में, उड़ान के लिए नया आगमन समय ‘EK10’ '2019-04-20 17:25:00' है - इसके मूल दिनांक समय के दो घंटे दस मिनट बाद
‘2019-04-20 15:15:00’.