Coalesce एक उपयोगी MySQL फ़ंक्शन है जो स्वचालित रूप से मानों की सूची से पहला गैर-शून्य मान देता है। ये मान शाब्दिक, स्तंभ नाम या अन्य MySQL फ़ंक्शन का उपयोग करके प्रदान किए जा सकते हैं। इस लेख में, हम देखेंगे कि MySQL में Coalesce का उपयोग कैसे करें।
MySQL में Coalesce का उपयोग कैसे करें
यहाँ MySQL में COALSCE का उपयोग करने के चरण दिए गए हैं
MySQL में COALESCE क्या है
COALESCE फ़ंक्शन मानों की सूची से पहला गैर NULL मान देता है। यदि सूची में सभी मान NULL हैं, तो यह NULL लौटाता है। यहाँ MySQL में Coalesce फ़ंक्शन का सिंटैक्स है।
select coalesce(value1, value2, ..., valuen) from table_name;
उपरोक्त कथन में, आपको तालिका का नाम निर्दिष्ट करना होगा, और अल्पविराम द्वारा अलग किए गए मानों की एक सूची प्रदान करनी होगी।
COALESCE की कार्यक्षमता दिखाने के लिए यहां कुछ सरल उदाहरण दिए गए हैं।
mysql> select coalesce(NULL, 2, 3); +----------------------+ | coalesce(NULL, 2, 3) | +----------------------+ | 2 | +----------------------+ mysql> select coalesce(NULL, NULL); +----------------------+ | coalesce(NULL, NULL) | +----------------------+ | NULL | +----------------------+
MySQL में COALESCE का उपयोग क्यों किया जाता है
COALESCE का उपयोग MySQL में आपकी पसंद के किसी अन्य स्ट्रिंग के साथ शून्य मानों को प्रतिस्थापित करने के लिए किया जाता है। यह रिपोर्टिंग और विश्लेषण के लिए बहुत उपयोगी है जहां आप वास्तविक डेटा को बदलना नहीं चाहते हैं, लेकिन इसे अलग तरीके से रिपोर्ट करना चाहते हैं।
मान लें कि आपके पास निम्न तालिका है बिक्री (आईडी, उत्पाद, ऑर्डर_डेट, राशि) जिसमें शून्य मान हैं।
mysql> create table sales(id int, product varchar(5), order_date date, amount int); mysql> insert into sales(id, product, order_date, amount) values(null, 'A','2020-01-01',150), (2, null,'2020-01-01',150), (null, 'C',null,150), (4, 'D','2020-01-01',null); mysql> select * from sales; +------+---------+------------+--------+ | id | product | order_date | amount | +------+---------+------------+--------+ | NULL | A | 2020-01-01 | 150 | | 2 | NULL | 2020-01-01 | 150 | | NULL | C | NULL | 150 | | 4 | D | 2020-01-01 | NULL | +------+---------+------------+--------+
अब हम प्रत्येक पंक्ति से पहला गैर-शून्य मान प्राप्त करने के लिए COALESCE का उपयोग करेंगे।
mysql> select coalesce(id, product, order_date, amount) from sales; +-------------------------------------------+ | coalesce(id, product, order_date, amount) | +-------------------------------------------+ | A | | 2 | | C | | 4 | +-------------------------------------------+
जैसा कि आप देख सकते हैं, COALESCE प्रत्येक पंक्ति से गैर-शून्य मान देता है।
आप कस्टम स्ट्रिंग्स के साथ शून्य मानों को प्रतिस्थापित करने के लिए COALESCE फ़ंक्शन का भी उपयोग कर सकते हैं। निम्नलिखित उदाहरण में, हम COALESCE का उपयोग करके प्रत्येक शून्य मान को 'NA' स्ट्रिंग से बदल देंगे।
mysql> select coalesce(id, 'NA') id, coalesce(product,'NA') product, coalesce(order_date,'NA') order_date, coalesce(amount,'NA') amount from sales; +------+---------+------------+--------+ | id | product | order_date | amount | +------+---------+------------+--------+ | NA | A | 2020-01-01 | 150 | | 2 | NA | 2020-01-01 | 150 | | NA | C | NA | 150 | | 4 | D | 2020-01-01 | NA | +------+---------+------------+--------+
COALESCE बनाम IFNULL MySQL
यद्यपि IFNULL का उपयोग NULL मानों को प्रतिस्थापित करने के लिए भी किया जा सकता है, यह केवल 2 तर्कों को स्वीकार कर सकता है, यदि यह शून्य है तो पहला तर्क देता है, अन्यथा दूसरा तर्क देता है। COALESCE केवल दो नहीं, बल्कि कई तर्कों के साथ काम करता है।
Ubiq में COALESCE
Ubiq रिपोर्टिंग टूल उपरोक्त सभी SQL प्रश्नों का समर्थन करता है और SQL परिणामों को अलग-अलग तरीकों से देखना आसान बनाता है। यहाँ ऊपर उल्लिखित COALESCE SQL क्वेरी है, Ubiq में।
MySQL के लिए रिपोर्टिंग टूल चाहिए? Ubiq मिनटों में डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!