यह भी एक MySQL स्ट्रिंग फ़ंक्शन है जिसका उपयोग खोज के लिए किया जाता है। EXPORT_SET() फ़ंक्शन के निम्नलिखित सिंटैक्स की मदद से हम इसके काम को समझ सकते हैं:
सिंटैक्स
EXPORT_SET(bits, on, off, separator, number of bits)
यहां इस सिंटैक्स में,
बिट्स (पूर्णांक को बिट्स में बदलने के बाद प्राप्त) की तुलना की जाती है कि वे 1 या 0 हैं।
'On' फ़ंक्शन का दूसरा आर्गुमेंट है, इसमें कोट्स में कोई भी मान होता है और यह लौटाया जाएगा यदि पहले आर्गुमेंट में बिट का मान 1 है।
'Off' फ़ंक्शन का तीसरा आर्गुमेंट है, इसमें कोट्स में कोई भी मान होता है और यह लौटाया जाएगा यदि पहले आर्गुमेंट में बिट का मान 0 है।
सेपरेटर का उपयोग आउटपुट प्रदर्शित करते समय लौटाए गए मानों के बीच रखने के लिए किया जाता है। यह कोट्स में रखा गया कोई भी कैरेक्टर या मान हो सकता है।
बिट्स की संख्या में उन बिट्स का मान होता है जिनकी तुलना की जानी है कि वे 1 या 0 हैं।
EXPORT_SET() फ़ंक्शन का कार्य
यह निम्नानुसार काम करता है:
- सबसे पहले, पहले आर्गुमेंट के रूप में दिया गया पूर्णांक मान बिट्स की संख्या में बदल जाएगा (यानी 0 और 1 में)। फिर हर बिट की जांच की जाती है कि यह 1 या 0 है। जांच का क्रम दाएं से बाएं है।
- अब, जांच के बाद MySQL तय करता है कि बिट 1 या 0 होने पर क्या करना है। यदि बिट 1 है, तो यह दूसरा आर्गुमेंट यानी 'on' लौटाता है। और यदि बिट 0 है, तो यह तीसरा आर्गुमेंट यानी 'off' लौटाता है।
- जांच पांचवें आर्गुमेंट में निर्दिष्ट बिट्स की संख्या तक जारी रहती है।
- अब, उपरोक्त के आधार पर MySQL आउटपुट लौटाएगा और लौटाए गए मानों के बीच सेपरेटर रखेगा। मान बाएं से दाएं लौटाए जाएंगे।
उदाहरण
mysql> Select EXPORT_SET(8, '1','0',',', 8); +-------------------------------+ | EXPORT_SET(8, '1','0',',', 8) | +-------------------------------+ | 0,0,0,1,0,0,0,0 | +-------------------------------+ 1 row in set (0.00 sec) mysql> Select EXPORT_SET(8, '1','0',',', 4); +-------------------------------+ | EXPORT_SET(8, '1','0',',', 4) | +-------------------------------+ | 0,0,0,1 | +-------------------------------+ 1 row in set (0.00 sec)
दोनों उदाहरणों में, हमने पहले आर्गुमेंट के रूप में 8 दिया है जो बिट्स में बदल जाएगा, यानी 1000, और फिर 1 और 0 के लिए 8 बिट्स तक (पहले उदाहरण में) और 4 बिट्स तक (दूसरे उदाहरण में) जांच की जाएगी क्योंकि 8 और 4 क्रमशः पहले और दूसरे उदाहरण में पांचवें आर्गुमेंट के रूप में निर्दिष्ट हैं। आउटपुट प्रदर्शित करते समय हम देख सकते हैं कि कॉमा (,) का उपयोग सेपरेटर के रूप में किया जाता है क्योंकि यह दोनों उदाहरणों में चौथे आर्गुमेंट के रूप में निर्दिष्ट है।
जैसा कि हम जानते हैं कि जांच का क्रम दाएं से बाएं है यानी हमारे उदाहरण में 1000, सबसे दायां बिट 0 है इसलिए तीसरा आर्गुमेंट यानी 0 लौटाया जाएगा, फिर अगले दो स्थानों पर भी 0 हैं इसलिए दो और 0 लौटाए जाएंगे, फिर यह 1 है इसलिए दूसरा आर्गुमेंट यानी 1 लौटाया गया है। दूसरे उदाहरण में, हमें 4 अंकों तक आउटपुट मिला क्योंकि जांच चार अंकों तक की गई है लेकिन पहले उदाहरण में, यह 8 अंकों तक है इसलिए हमें आउटपुट में 8 अंक मिले। आउटपुट का क्रम बाएं से दाएं है इसलिए आउटपुट पहले उदाहरण में 0,0,0,1,0,0,0,0 और दूसरे उदाहरण में 0,0,0,1 के रूप में प्रदर्शित होता है।