ठीक LENGTH() फ़ंक्शन की तरह, MySQL BIT_LENGTH() फ़ंक्शन एक बहु-बाइट सुरक्षित फ़ंक्शन नहीं है। जैसा कि हम जानते हैं कि बहु-बाइट सुरक्षित कार्यों, जैसे CHAR_LENGTH () या CHARACTER_LENGTH (), और BIT_LENGTH () फ़ंक्शन के बीच परिणाम का अंतर विशेष रूप से यूनिकोड के लिए प्रासंगिक है, जिसमें अधिकांश वर्ण दो बाइट्स में एन्कोड किए गए हैं या UTF के लिए प्रासंगिक हैं। -8 जहां बाइट्स की संख्या भिन्न होती है। इसे नीचे दिए गए उदाहरण में दिखाया गया है -
उदाहरण
mysql> Select BIT_LENGTH('tutorialspoint'); +------------------------------+ | BIT_LENGTH('tutorialspoint') | +------------------------------+ | 112 | +------------------------------+ 1 row in set (0.00 sec)
उपरोक्त परिणाम सेट से पता चलता है कि स्ट्रिंग 'ट्यूटोरियल पॉइंट' की बिट लंबाई 112 है क्योंकि यह अभी तक यूनिकोड वर्ण में परिवर्तित नहीं हुई है। निम्नलिखित क्वेरी इसे यूनिकोड वर्ण में बदल देती है -
mysql> SET @A = CONVERT('tutorialspoint' USING ucs2); Query OK, 0 rows affected (0.02 sec)
स्ट्रिंग को यूनिकोड में कनवर्ट करने के बाद, यह 112 के बजाय 224 परिणाम देता है क्योंकि यूनिकोड में एक एकल वर्ण 2-बाइट लेता है जैसा कि नीचे दिखाया गया है -
mysql> Select BIT_LENGTH(@A); +----------------+ | BIT_LENGTH(@A) | +----------------+ | 224 | +----------------+ 1 row in set (0.00 sec)