যেমন আমরা জানি যে, 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)
উপরের ফলাফল সেটটি দেখায় যে স্ট্রিং 'টিউটোরিয়াল পয়েন্ট' এর দৈর্ঘ্য 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)