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