MySQL में, आप EXTRACT()
. का उपयोग कर सकते हैं एक तिथि से भागों को निकालने के लिए कार्य। उदाहरण के लिए, आप साल का हिस्सा, महीने का हिस्सा, या दिन का हिस्सा आदि निकाल सकते हैं। आप समय घटक से भी कुछ हिस्सों को निकाल सकते हैं, जैसे मिनट, सेकंड, माइक्रोसेकंड, आदि।
इस लेख में प्रदर्शित करने के लिए उदाहरण हैं।
सिंटैक्स
वाक्य रचना इस प्रकार है:
EXTRACT(इकाई से तारीख)
जहां unit
वह दिनांक भाग है जिसे आप निकालना चाहते हैं, और date
उस भाग को निकालने के लिए दिनांक मान है।
मान्य इकाई विनिर्देशों की सूची के लिए इस आलेख के निचले भाग में तालिका देखें।
उदाहरण 1
फ़ंक्शन के मूल उपयोग को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
चुनें उद्धरण ('2019-01-01' से वर्ष) 'परिणाम' के रूप में;
परिणाम:
+----------+| परिणाम |+-----------+| 2019 |+----------+
उदाहरण 2 - अधिक दिनांक भाग
यहां मैं एक तिथि से विभिन्न तिथि भागों को निकालता हूं।
सेट @डेट ='2019-10-03'; 'दिन' के रूप में उद्धरण(दिनांक @दिनांक) के रूप में चुनें, उद्धरण(दिनांक से माह) 'माह' के रूप में, उद्धरण(दिनांक से वर्ष) 'वर्ष' के रूप में ';
परिणाम:
+----------+----------+------+| दिन | महीना | वर्ष |+----------+----------+------+| 3 | 10 | 2019 |+------+----------+------+
उदाहरण 3 - समय के हिस्सों को निकालना
यहाँ मैं एक तिथि से विभिन्न समय भागों को निकालता हूँ।
सेट @डेट ='2019-10-03 12:35:05.123456'; 'घंटे' के रूप में उद्धरण (तारीख से घंटा) का चयन करें, 'मिनट' के रूप में निकालें (दिनांक से मिनट), निकालें (@ से दूसरा) दिनांक) 'सेकंड' के रूप में, 'माइक्रोसेकंड' के रूप में निकालें(@date से माइक्रोसेकंड);
परिणाम:
+----------+-------------+----------+--------------+| घंटे | मिनट | सेकंड | माइक्रोसेकंड |+----------+------------+---------+--------------+| 12 | 35 | 5 | 123456 |+----+------+-----उदाहरण 4 - यूनिट स्पेसिफायर का संयोजन
आप इकाई विनिर्देशकों को इस तरह से भी जोड़ सकते हैं:
SET @date ='2019-10-03 12:35:05.123456';'परिणाम' के रूप में EXTRACT(HOUR_MICROSECOND @date से) चुनें;परिणाम:
+--------------+| परिणाम |+--------------+| 123505123456 |+--------------+यह उदाहरण घंटे के हिस्से से लेकर माइक्रोसेकंड भाग तक सब कुछ लौटाता है।
एक डेटाबेस उदाहरण
डेटाबेस में एक कॉलम से साल और महीने निकालने का एक उदाहरण यहां दिया गया है:
सकीला का उपयोग करें;'दिनांक/समय' के रूप में payment_date चुनें, भुगतान से EXTRACT(YEAR_MONTH FROM payment_date) भुगतान से जहां payment_id =1;परिणाम:
+---------------------+---------------+| दिनांक/समय | वर्ष/माह |+---------------------+---------------+| 2005-05-25 11:30:37 | 200505 |+---------------------+---------------+वर्तमान दिनांक/समय
यहां, मैं
CURDATE()
. के साथ जेनरेट की गई तारीख से महीने का हिस्सा निकालता हूं समारोह।चुनें CURDATE(), EXTRACT(MONTH FROM CURDATE());परिणाम:
+---------------+------------------------------+| करडेट () | एक्सट्रैक्ट (महीने से करडेट ()) |+------------+--------------------------- ----+| 2018-06-26 | 6 |+---------------+------------------------------+इस उदाहरण में मैं वर्तमान तिथि और समय से घंटे का हिस्सा निकालता हूं (जो
NOW()
के साथ उत्पन्न होता है समारोह)।अभी चुनें (), एक्सट्रैक्ट (अब से घंटा ());परिणाम:
+---------------------+-------------------------- --+| अभी () | एक्सट्रैक्ट (अब से घंटा ()) |+---------------------+--------------------- --------+| 2018-06-26 09:01:46 | 9 |+---------------------+-------------------------- -+अपेक्षित मान
निम्न तालिका मान्य इकाई मान और उनके अपेक्षित प्रारूप को दर्शाती है।
unit मान | अपेक्षित expr प्रारूप |
---|---|
माइक्रोसेकंड | माइक्रोसेकंड |
दूसरा | सेकंड |
मिनट | मिनट |
घंटा | घंटे |
दिन | दिन |
सप्ताह | सप्ताह |
महीना | महीने |
क्वार्टर | क्वार्टर |
वर्ष | वर्ष |
SECOND_MICROSECOND | ‘SECONDS.MICROSECONDS’ |
MINUTE_MICROSECOND | 'मिनट:सेकंड.माइक्रोसेकंड' |
MINUTE_SECOND | 'मिनट:सेकंड' |
HOUR_MICROSECOND | ‘घंटे:मिनट:SECONDS.MICROSECONDS’ |
HOUR_SECOND | ‘घंटे:मिनट:सेकंड’ |
HOUR_MINUTE | ‘घंटे:मिनट’ |
DAY_MICROSECOND | ‘दिन घंटे:मिनट:सेकेंड.माइक्रोसेकंड’ |
DAY_SECOND | 'दिन घंटे:मिनट:सेकंड' |
DAY_MINUTE | 'दिन के घंटे:मिनट' |
DAY_HOUR | 'दिन के घंटे' |
YEAR_MONTH | ‘साल-महीने’ |