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

MySQL-এ length() এবং char_length() ফাংশনের পার্থক্য

char_length() vs length(): ক্যারেক্টার vs বাইট গণনা

  • CHAR_LENGTH() / CHARACTER_LENGTH(): ক্যারেক্টার সংখ্যা গণনা করে (মাল্টি-বাইট ক্যারেক্টরেও ১ গড়ে)।
  • LENGTH(): বাইট সংখ্যা গণনা করে। Unicode (UTF-8) ক্যারেক্টার ২-৪ বাইট নিতে পারে।

সাধারণ স্ট্রিং (ASCII) - একই ফলাফল

mysql> SELECT CHAR_LENGTH('John'); -- 4
mysql> SELECT LENGTH('Tim');       -- 3

Unicode কলামে পার্থক্য

mysql> CREATE TABLE LengthAndCharLengthDemo (
    -> FirstName VARCHAR(200),
    -> SecondName VARCHAR(255) CHARACTER SET ucs2  -- 2 bytes per char
    -> );
mysql> INSERT INTO LengthAndCharLengthDemo VALUES ('John', 'Ritter');
mysql> SELECT CHAR_LENGTH(FirstName), LENGTH(SecondName) FROM LengthAndCharLengthDemo WHERE FirstName='John' AND SecondName='John';
+------------------------+--------------------+
| CHAR_LENGTH(FirstName) | LENGTH(SecondName) |
+------------------------+--------------------+
| 4                      | 8                  |
+------------------------+--------------------+

ফলাফল: CHAR_LENGTH = ৪ (ক্যারেক্টার), LENGTH = ৮ (বাইট, কারণ UCS2-এ প্রতিটি ক্যারেক্টার ২ বাইট)।

সুপারিশ: স্ট্রিং দৈর্ঘ্য যাচাইতে সবসময় CHAR_LENGTH() ব্যবহার করুন।

  1. MySQL-এ CREATE TABLE-এ CHAR_LENGTH() ব্যবহার করে কলামের ক্যারেক্টার কাউন্ট সংরক্ষণ

  2. MySQL-এ কলামের দৈর্ঘ্য (LENGTH) অনুযায়ী সর্ট করা

  3. MySQL-এ HAVING LENGTH() ব্যবহার করে স্ট্রিং দৈর্ঘ্য অনুযায়ী ফিল্টার করা

  4. MySQL에서 DOUBLE 타입 길이와 소수점 자릿수 지정하기