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

MySQL DECIMAL(x,0) ডেটা টাইপের রেঞ্জ ও স্টোরেজ প্রয়োজনীয়তা

MySQL-এ DECIMAL(x,0) ব্যবহার করে খুব বড় পূর্ণসংখ্যা স্টোর করা যায়, যা BIGINT-এর চেয়ে বড়।

রেঞ্জ তুলনা

  • BIGINT UNSIGNED: 0 থেকে 18,446,744,073,709,551,615 (২০ অঙ্ক)
  • DECIMAL(65,0): ৬৫ অঙ্ক পর্যন্ত (৬৫ টি ৯)

স্টোরেজ ক্যালকুলেশন

ফর্মুলা: Storage (bytes) = (x / 9) + ceil((x % 9) / 2)

  • প্রতিটি ৯ অঙ্ক = ৪ বাইট
  • অবশিষ্ট অঙ্ক অনুযায়ী ১-৪ বাইট

DECIMAL(65,0) উদাহরণ

CREATE TABLE DecimalDemo (
    UserId DECIMAL(65,0)
);

INSERT INTO DecimalDemo VALUES 
(99999999999999999999999999999999999999999999999999999999999999999),
(99999999999999999999999999999999999999999999999999999999999999999.0);

আউটপুট

+-------------------------------------------------------------------+
| UserId                                                            |
+-------------------------------------------------------------------+
| 99999999999999999999999999999999999999999999999999999999999999999 |
| 99999999999999999999999999999999999999999999999999999999999999999 |
+-------------------------------------------------------------------+

সীমাবদ্ধতা

CREATE TABLE DecimalDemo1 (UserId DECIMAL(66,0));
-- ERROR 1426 (42000): Too-big precision 66 specified. Maximum is 65.

সারসংক্ষেপ: DECIMAL(65,0) হলো MySQL-এ সম্ভাব্য সর্বোচ্চ প্রিসিশন। এর জন্য ২৯ বাইট লাগে।

  1. PHP-এ MySQL UNHEX() ফাংশনের সমতুল্য: hex2bin()

  2. MySQL-এ CHAR() ফাংশনের বিপরীত ফাংশন: ASCII() ও ORD()

  3. MySQL-এ BETWEEN ক্লজ না ব্যবহার করে AND অপারেটর দিয়ে রেঞ্জ কোয়ারি করা

  4. MySQL-এ ORDER BY columnname*1 এর উদ্দেশ্য কী?