কম্পিউটার টিউটোরিয়াল

MySQL BIT_LENGTH() ফাংশন কি মাল্টি-বাইট সেফ?

LENGTH() ফাংশনের মতোই MySQL BIT_LENGTH() ফাংশন মাল্টি-বাইট সেফ নয়। মাল্টি-বাইট সেফ ফাংশন যেন CHAR_LENGTH() বা CHARACTER_LENGTH() এর সাথে ফলাফলের পার্থক্য ইউনিকোডে স্পষ্ট হয়, কারণ ইউনিকোডে অধিকাংশ ক্যারেক্টার ২ বাইটে এনকোডেড থাকে, বা UTF-8-এ বাইট সংখ্যা ভিন্ন হয়।

উদাহরণ

mysql> SELECT BIT_LENGTH('tutorialspoint');
+------------------------------+
| BIT_LENGTH('tutorialspoint') |
+------------------------------+
| 112                          |
+------------------------------+

ইউনিকোডে কনভার্ট করলে:

mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
Query OK, 0 rows affected (0.02 sec)

mysql> SELECT BIT_LENGTH(@A);
+----------------+
| BIT_LENGTH(@A) |
+----------------+
| 224            |
+----------------+

ইউনিকোডে প্রতিটি ক্যারেক্টার ২ বাইট = ১৬ বিট, তাই ১৪ × ১৬ = ২২৪ বিট।

  1. MySQL-এ কন্ডিশনাল NOT NULL কেস হ্যান্ডলিং

  2. MySQL SELECT স্টেটমেন্টে IF() ফাংশন ব্যবহার

  3. MySQL-এ GREATEST() ফাংশন ব্যবহার করে রো-ওয়াইজ সর্বোচ্চ মান বের করা

  4. MySQL-এ EXCEPT অপারেটর নেই, বিকল্প NOT IN ব্যবহার করুন