MySQL EXPORT_SET()
फ़ंक्शन एक स्ट्रिंग देता है जो किसी संख्या में बिट्स का प्रतिनिधित्व करता है।
आपके पास यह अनुकूलित करने की क्षमता है कि फ़ंक्शन स्ट्रिंग को कैसे आउटपुट करता है। फ़ंक्शन कई तर्क स्वीकार करता है जो आपको ऐसा करने की अनुमति देता है। जब आप फ़ंक्शन को कॉल करते हैं, तो आप विचाराधीन संख्या, साथ ही तर्क प्रदान करते हैं जो यह निर्धारित करते हैं कि परिणाम कैसे प्रदर्शित होते हैं।
सिंटैक्स
वाक्य रचना इस प्रकार है:
EXPORT_SET(bits,on,off[,separator[,number_of_bits]])
यहां तर्कों की व्याख्या दी गई है:
- बिट्स
- यह वह संख्या है जिसके लिए आप परिणाम लौटाना चाहते हैं। इस मान में सेट किए गए प्रत्येक बिट के लिए आपको एक चालू . मिलता है स्ट्रिंग, और हर बिट के लिए जो मान में सेट नहीं है, आपको एक ऑफ़ . मिलता है डोरी। बिट्स की जांच दाएं से बाएं (निम्न-क्रम से उच्च-क्रम बिट्स तक) की जाती है।
- चालू
- यह वह है जो किसी भी चालू . के लिए लौटाया जाता है बिट्स।
- बंद
- यह वह है जो किसी भी बंद के लिए लौटाया जाता है बिट्स।
- विभाजक
- यह एक वैकल्पिक तर्क है जिसका उपयोग आप विभाजक को उपयोग करने के लिए निर्दिष्ट करने के लिए कर सकते हैं। डिफ़ॉल्ट मान अल्पविराम वर्ण है। इसलिए, यदि आप इस तर्क को निर्दिष्ट नहीं करते हैं तो अल्पविराम का उपयोग विभाजक के रूप में किया जाता है।
- number_of_bits
- जांच करने के लिए बिट्स की संख्या। डिफ़ॉल्ट मान 64 है। यदि आप एक बड़ा मान प्रदान करते हैं, तो 64 से बड़ा होने पर इसे चुपचाप 64 पर क्लिप कर दिया जाता है।
उदाहरण 1 - मूल उपयोग
इस फ़ंक्शन के मूल उपयोग को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT EXPORT_SET(9,'On','Off',',',4);
परिणाम:
+--------------------------------+ | EXPORT_SET(9,'On','Off',',',4) | +--------------------------------+ | On,Off,Off,On | +--------------------------------+
इस परिणाम को समझने के लिए, हमें यह समझने की आवश्यकता है कि कैसे संख्या 9
बिट्स में दर्शाया गया है। ऐसा करने के लिए, हम BIN()
. का उपयोग कर सकते हैं संख्या 9 के द्विआधारी प्रतिनिधित्व को आउटपुट करने के लिए कार्य करता है।
SELECT BIN(9);
परिणाम:
+--------+ | BIN(9) | +--------+ | 1001 | +--------+
तो हम देख सकते हैं कि 9 का बाइनरी प्रतिनिधित्व 1001
. है . प्रत्येक 1
एक चालू . है बिट (यह सेट है) और प्रत्येक 0
एक बंद है बिट (यह सेट नहीं है)।
उदाहरण 2 - दूसरा और तीसरा तर्क बदलें
हम पिछला उदाहरण ले सकते हैं और दूसरे और तीसरे तर्क को बदल सकते हैं।
SELECT EXPORT_SET(9,'Y','N',',',4);
परिणाम:
+-----------------------------+ | EXPORT_SET(9,'Y','N',',',4) | +-----------------------------+ | Y,N,N,Y | +-----------------------------+
तो अब प्रत्येक चालू . के लिए बिट, हमें Y . मिलता है , और प्रत्येक बंद बिट रिटर्न N .
हम इसे बदल भी सकते हैं ताकि एक और शून्य वापस आ जाएं:
SELECT EXPORT_SET(9,1,0,',',4);
परिणाम:
+-------------------------+ | EXPORT_SET(9,1,0,',',4) | +-------------------------+ | 1,0,0,1 | +-------------------------+
उदाहरण 3 - चौथा तर्क बदलें (विभाजक)
पिछले उदाहरणों में हम स्पष्ट रूप से अल्पविराम को विभाजक के रूप में निर्दिष्ट करते हैं। यह भी डिफ़ॉल्ट मान है।
यदि आवश्यक हो तो हम विभाजक को किसी और चीज़ में बदल सकते हैं।
SELECT EXPORT_SET(9,1,0,'-',4);
परिणाम:
+-------------------------+ | EXPORT_SET(9,1,0,'-',4) | +-------------------------+ | 1-0-0-1 | +-------------------------+
और अगर हम खाली स्ट्रिंग को विभाजक के रूप में निर्दिष्ट करते हैं तो क्या होता है:
SELECT EXPORT_SET(9,1,0,'',4);
परिणाम:
+------------------------+ | EXPORT_SET(9,1,0,'',4) | +------------------------+ | 1001 | +------------------------+
उदाहरण 4 - 5वां तर्क बदलें
पाँचवाँ तर्क निर्दिष्ट करता है कि कितने बिट्स की जाँच करनी है। पिछले उदाहरण में हमने 4
. का उपयोग किया था मान के रूप में, इसलिए केवल चार बिट्स की जांच की गई (और लौटा दी गई)। चौथे तर्क के रूप में एक भिन्न मान निर्दिष्ट करके हम इसे आवश्यकतानुसार बढ़ा या घटा सकते हैं।
SELECT EXPORT_SET(9,1,0,'-',10);
परिणाम:
+--------------------------+ | EXPORT_SET(9,1,0,'-',10) | +--------------------------+ | 1-0-0-1-0-0-0-0-0-0 | +--------------------------+
इस उदाहरण में हमने जांचे गए बिट्स की संख्या बढ़ाकर 10 कर दी है।
याद रखें, बिट्स की जांच दाएं से बाएं ओर की जाती है, इसलिए इस उदाहरण में अतिरिक्त शून्य वास्तव में उच्च-क्रम वाले शून्य के लिए हैं। तो यह वास्तविक बाइनरी प्रतिनिधित्व के विपरीत क्रम में है।
मेरा क्या मतलब है, यह दिखाने के लिए यहां एक उदाहरण दिया गया है:
SELECT BIN(567), EXPORT_SET(567,1,0,'',10);
परिणाम:
+------------+---------------------------+ | BIN(567) | EXPORT_SET(567,1,0,'',10) | +------------+---------------------------+ | 1000110111 | 1110110001 | +------------+---------------------------+
इस मामले में, वे दर्पण छवियों की तरह दिखते हैं। मूल रूप से, EXPORT_SET()
. का परिणाम BIN()
. के विपरीत क्रम में है ।
पांचवें तर्क के लिए डिफ़ॉल्ट मान 64 है, इसलिए यदि हम इस तर्क को छोड़ देते हैं, तो कितने बिट्स की जांच की जाएगी।
SELECT EXPORT_SET(9,1,0,'-');
परिणाम:
+---------------------------------------------------------------------------------------------------------------------------------+ | 1-0-0-1-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0 | +---------------------------------------------------------------------------------------------------------------------------------+
यह चुपचाप 64 पर क्लिप किया गया है, इसलिए यदि आप इस सीमा के बाहर कोई मान प्रदान करते हैं, तो इसे 64 पर क्लिप कर दिया जाएगा।
SELECT EXPORT_SET(9,1,0,'-',500);
परिणाम:
+---------------------------------------------------------------------------------------------------------------------------------+ | 1-0-0-1-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0 | +---------------------------------------------------------------------------------------------------------------------------------+
यह एक अहस्ताक्षरित पूर्णांक है, इसलिए यदि आप ऋणात्मक मान का उपयोग करते हैं तो समान परिणाम:
SELECT EXPORT_SET(9,1,0,'-',-4);
परिणाम:
+---------------------------------------------------------------------------------------------------------------------------------+ | 1-0-0-1-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0 | +---------------------------------------------------------------------------------------------------------------------------------+
उदाहरण 5 - डिफ़ॉल्ट मानों का उपयोग करना
डिफ़ॉल्ट मानों का उपयोग करने के लिए हम अंतिम दो तर्कों को छोड़ सकते हैं:
SELECT EXPORT_SET(9,'On','Off');
परिणाम:
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | On,Off,Off,On,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off,Off | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+